cp.nvim/scrapers
Barrett Ruth 80bc9a7a23 feat(kattis): implement login, submit, and contest list filter
Problem: Kattis login and submit were stub-only. The contest list also
returned user-created and recycled contests alongside official ones.

Solution: Add httpx-based login via `/login/email` (official Kattis
CLI API) with cookie persistence to `~/.cache/cp-nvim/kattis-cookies.json`.
Submit does a multipart POST to `/submit`, including the `contest` field
only when `contest_id != problem_id`. Update `scrape_contest_list` URL
to filter `kattis_original=on&kattis_recycled=off&user_created=off`.
2026-03-06 00:05:10 -05:00
..
__init__.py lol 2025-09-24 21:23:06 -04:00
atcoder.py feat(commands): implement :CP open [problem|contest|standings] (#319) 2026-03-05 19:16:05 -05:00
base.py feat: validate credentials on :CP <platform> login (#310) 2026-03-05 15:12:09 -05:00
codechef.py feat: validate credentials on :CP <platform> login (#310) 2026-03-05 15:12:09 -05:00
codeforces.py feat(commands): implement :CP open [problem|contest|standings] (#319) 2026-03-05 19:16:05 -05:00
cses.py feat(commands): implement :CP open [problem|contest|standings] (#319) 2026-03-05 19:16:05 -05:00
kattis.py feat(kattis): implement login, submit, and contest list filter 2026-03-06 00:05:10 -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(commands): implement :CP open [problem|contest|standings] (#319) 2026-03-05 19:16:05 -05:00
timeouts.py fix(submit): use file path over stdin; fix CF CodeMirror textarea (#305) 2026-03-05 14:34:14 -05:00
usaco.py feat(usaco): implement login and submit 2026-03-06 00:05:04 -05:00