cp.nvim/scrapers
Barrett Ruth 3b3da9ab9b
feat(codechef): implement login, submit, and full contest list
Problem: CodeChef login/submit used wrong selectors for the Drupal-based
site, the contest list only showed future contests, and problem/contest
URLs were not set for `:CP open`.

Solution: Fix login selectors (`input[name="name"]`, `input[name="pass"]`,
`input.cc-login-btn`) with fast 3s failure on bad credentials. Rewrite
submit to use MUI Select (`[aria-haspopup="listbox"]`), Ace editor
clipboard injection, and `#submit_btn` dispatch with a practice-contest
fallback. Paginate `/api/list/contests/past` to collect all 228 past
Starters, then concurrently fetch each to expand parent contests into
individual division entries (e.g. `START228 (Div. 4)`). Set `url`,
`contest_url`, and `standings_url` correctly in `scrape_contest_metadata`.
2026-03-06 23:02:59 -05:00
..
__init__.py lol 2025-09-24 21:23:06 -04:00
atcoder.py fix: expand language IDs, fix AtCoder submit, normalize logging (#353) 2026-03-06 21:35:13 -05:00
base.py feat: validate credentials on :CP <platform> login (#310) 2026-03-05 15:12:09 -05:00
codechef.py feat(codechef): implement login, submit, and full contest list 2026-03-06 23:02:59 -05:00
codeforces.py fix(login): remove cookie fast-path from login subcommand (#344) 2026-03-06 17:53:22 -05:00
cses.py fix(cses): remove verdict poll loop from submit 2026-03-06 21:47:52 -05:00
kattis.py fix: expand language IDs, fix AtCoder submit, normalize logging (#353) 2026-03-06 21:35:13 -05:00
language_ids.py feat(codechef): add language IDs and version mappings 2026-03-06 23:02:46 -05:00
models.py feat: race countdown support and language version selection (#346) 2026-03-06 18:18:21 -05:00
timeouts.py fix(cses): remove verdict poll loop from submit 2026-03-06 21:47:52 -05:00
usaco.py feat: race countdown support and language version selection (#346) 2026-03-06 18:18:21 -05:00