cp.nvim/scrapers
Barrett Ruth 6faf9c7537
refactor(atcoder): extract submit helpers to module level; emit status events
Problem: `_submit_sync` was a deeply nested closure containing
`_solve_turnstile` and the browser-install block as further nesting.
Status events went to stderr, which `run_scraper()` silently discards.

Solution: Extract `_TURNSTILE_JS`, `_solve_turnstile`, `_ensure_browser`,
and `_submit_headless` to module level. Status events (`installing_browser`,
`checking_login`, `logging_in`, `submitting`) now print to stdout as NDJSON.
`submit()` delegates to `asyncio.to_thread(_submit_headless, ...)`.
2026-03-04 19:02:37 -05:00
..
__init__.py lol 2025-09-24 21:23:06 -04:00
atcoder.py refactor(atcoder): extract submit helpers to module level; emit status events 2026-03-04 19:02:37 -05:00
base.py ci: format 2026-03-03 15:09:41 -05:00
codechef.py ci: format 2026-03-03 15:09:41 -05:00
codeforces.py ci: format 2026-03-03 15:09:41 -05:00
cses.py fix: resolve typecheck errors in cache, atcoder, cses, and usaco 2026-03-03 15:09:41 -05:00
kattis.py feat(kattis): rewrite scraper to support real contests 2026-03-03 16:02:09 -05:00
language_ids.py feat(submit): add solution submission UI 2026-03-03 15:09:41 -05:00
models.py feat(scraper): add precision extraction, start_time, and submit support 2026-03-03 15:09:41 -05:00
usaco.py fix: resolve typecheck errors in cache, atcoder, cses, and usaco 2026-03-03 15:09:41 -05:00