cp.nvim/scrapers
Barrett Ruth 4e709c8470
feat(race): add supports_countdown to ContestListResult
Problem: `:CP race` on platforms without future contests (CSES, USACO)
wastes time fetching the full contest list only to discover there is
no `start_time`. The error message is also uninformative.

Solution: Add `supports_countdown` bool to `ContestListResult` (default
`True`). CSES and USACO set it to `False`. Cache the flag per-platform
so subsequent calls skip the fetch entirely. `race.lua` checks the
cached value first, then the scraper result, and shows
`"<Platform> does not support :CP race"` instead of a generic error.
2026-03-06 18:01:08 -05:00
..
__init__.py lol 2025-09-24 21:23:06 -04:00
atcoder.py fix(login): remove cookie fast-path from login subcommand (#344) 2026-03-06 17:53:22 -05:00
base.py feat: validate credentials on :CP <platform> login (#310) 2026-03-05 15:12:09 -05:00
codechef.py fix(login): remove cookie fast-path from login subcommand (#344) 2026-03-06 17:53:22 -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(race): add supports_countdown to ContestListResult 2026-03-06 18:01:08 -05:00
kattis.py fix(kattis,usaco): precision, open URLs, and Kattis submit error surface (#335) 2026-03-06 15:23:55 -05:00
language_ids.py fix(scrapers): fix Kattis and USACO login and submit (#330) 2026-03-06 12:38:32 -05:00
models.py feat(race): add supports_countdown to ContestListResult 2026-03-06 18:01:08 -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(race): add supports_countdown to ContestListResult 2026-03-06 18:01:08 -05:00