cp.nvim/scrapers
Barrett Ruth 3c11d609f5
feat(codechef): implement full CodeChef support (#354)
## Problem

CodeChef had no working login, submit, or contest list. The browser
selectors were wrong, the contest list was missing present/past
contests,
and problem/contest URLs were unset.

## Solution

Fix login and submit selectors for the Drupal-based site. Paginate
`/api/list/contests/past` to collect all 228 Starters, then expand each
parent contest into individual division entries (e.g. `START228 (Div.
4)`).
Add language IDs, correct `url`/`contest_url`/`standings_url` in
metadata,
and make `:CP <platform>` open the contest picker directly.
2026-03-06 23:10:44 -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 full CodeChef support (#354) 2026-03-06 23:10:44 -05:00
codeforces.py fix(login): remove cookie fast-path from login subcommand (#344) 2026-03-06 17:53:22 -05:00
cses.py feat(codechef): implement full CodeChef support (#354) 2026-03-06 23:10:44 -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): implement full CodeChef support (#354) 2026-03-06 23:10:44 -05:00
models.py feat: race countdown support and language version selection (#346) 2026-03-06 18:18:21 -05:00
timeouts.py feat(codechef): implement full CodeChef support (#354) 2026-03-06 23:10:44 -05:00
usaco.py feat: race countdown support and language version selection (#346) 2026-03-06 18:18:21 -05:00