cp.nvim/scrapers
Barrett Ruth 8485955baa fix(kattis): add precision, open URLs, and surface submit errors
Problem: `_stream_single_problem` never extracted float precision, so
epsilon problems got no tolerance. `scrape_contest_metadata` omitted
`contest_url` and `standings_url`, breaking `:CP open contest/standings`.
Submit always returned success even when Kattis responded with an error
like "You need to join the contest".

Solution: call `extract_precision` on problem HTML and emit it in the
JSON payload. Set `contest_url` and `standings_url` on both metadata
paths (contest and single-slug). After submit, check for `Submission ID:`
in the response and return the error text if absent.
2026-03-06 15:21:23 -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 fix(codechef): rewrite contest list, drop curl_cffi (#333) 2026-03-06 13:25:31 -05:00
codeforces.py fix: replace curl_cffi with scrapling in codeforces metadata (#334) 2026-03-06 13:25:44 -05:00
cses.py feat(commands): implement :CP open [problem|contest|standings] (#319) 2026-03-05 19:16:05 -05:00
kattis.py fix(kattis): add precision, open URLs, and surface submit errors 2026-03-06 15:21:23 -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(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 fix(scrapers): fix Kattis and USACO login and submit (#330) 2026-03-06 12:38:32 -05:00