cp.nvim/scrapers
Barrett Ruth 3ecd200da7
refactor(codeforces): use separate fetches for login and submit
Problem: the single `do_login_and_submit` page action navigated between
pages within one `session.fetch` call, which was fragile and couldn't
leverage `solve_cloudflare` for the Turnstile gate on the submit page.
The submit button click also blocked on navigation completion, causing
timeouts when CF was slow to process.

Solution: split into three separate `session.fetch` calls (homepage
login check, `/enter` login, `/contest/{id}/submit`) with
`solve_cloudflare=True` on login and submit. Use `no_wait_after=True`
on the submit click with a doubled nav timeout. Extract `span.error`
text on submit failure instead of a generic timeout message.
2026-03-05 10:35:36 -05:00
..
__init__.py lol 2025-09-24 21:23:06 -04:00
atcoder.py perf(atcoder): bail out early from _solve_turnstile when no iframe present 2026-03-05 10:35:27 -05:00
base.py ci: format 2026-03-03 15:09:41 -05:00
codechef.py refactor: centralize timeout constants in scrapers/timeouts.py 2026-03-05 01:35:40 -05:00
codeforces.py refactor(codeforces): use separate fetches for login and submit 2026-03-05 10:35:36 -05:00
cses.py ci: format 2026-03-05 01:39:59 -05:00
kattis.py refactor: centralize timeout constants in scrapers/timeouts.py 2026-03-05 01:35:40 -05:00
language_ids.py feat(atcoder): extract submit helpers; add live status notifications (#294) 2026-03-04 19:27:29 -05:00
models.py feat(scraper): add precision extraction, start_time, and submit support 2026-03-03 15:09:41 -05:00
timeouts.py refactor: centralize timeout constants in scrapers/timeouts.py 2026-03-05 01:35:40 -05:00
usaco.py ci: format 2026-03-05 01:39:59 -05:00