de5a20c567
fix: resolve typecheck errors in cache, atcoder, cses, and usaco
...
Problem: lua typecheck flagged missing start_time field on ContestSummary;
ty flagged BeautifulSoup Tag/NavigableString union on csrf_input.get(),
a 3-tuple unpack where _extract_problem_info now returns 4 values in
cses.py, and an untyped list assignment in usaco.py.
Solution: add start_time? to ContestSummary LuaDoc, guard csrf_input
with hasattr check and type: ignore, unpack precision from
_extract_problem_info in cses.py callers, and use cast() in usaco.py.
2026-03-03 15:09:41 -05:00
bad219e578
ci: format
2026-03-03 15:09:41 -05:00
90bd13580b
feat(scraper): add precision extraction, start_time, and submit support
...
Problem: problem pages contain floating-point precision requirements and
contest start timestamps that were not being extracted or stored. The
submit workflow also needed a foundation in the scraper layer.
Solution: add extract_precision() to base.py and propagate through all
scrapers into cache. Add start_time to ContestSummary and extract it
from AtCoder and Codeforces. Add SubmitResult model, abstract submit()
method, submit CLI case with get_language_id() resolution, stdin/env_extra
support in run_scraper, and a full AtCoder submit implementation; stub
the remaining platforms.
2026-03-03 15:09:41 -05:00
5293515aca
feat(scrapers): refactor
2026-01-27 14:44:08 -05:00
Barrett Ruth
e7ba6b4bb4
fix(test): update scrapers
2025-11-05 18:43:01 -05:00
Barrett Ruth
aab211902e
feat: multi-test case view
2025-11-04 21:32:40 -05:00
Barrett Ruth
a9ac06de83
fix(ci): regex
2025-10-23 22:24:39 -04:00
Barrett Ruth
ce975d0f1e
fix(ci): regex
2025-10-23 22:24:20 -04:00
352f98f26f
fix: open problem-specific url
2025-10-15 11:00:31 -04:00
c0e175d84b
feat(config): open url option
2025-10-12 16:19:02 -04:00
4fac6c8019
feat(tests): fixtures
2025-10-05 23:06:38 -04:00
c509102b37
feat(tests): basic tests
2025-10-05 21:58:43 -04:00
d4df57bd05
fix(scrapers): cses interactive problems
2025-10-05 20:55:43 -04:00
25fde26943
feat(scrapers): cses soft too
2025-10-05 13:42:06 -04:00
f48acb4672
fix(scrapers/codeforces): scrape time
2025-10-03 21:06:20 -04:00
33cc2ca36b
fix(scrapers/cses): rename scraper
2025-10-03 19:29:10 -04:00
4498c4a7fa
fix scrapers
2025-10-03 19:19:02 -04:00
7711788d3d
cleanup
2025-09-24 21:35:57 -04:00
a48f4d049b
snake to title case
2025-09-24 20:58:16 -04:00
b70f38626e
cleanup
2025-09-24 20:04:29 -04:00
db391da52c
feat(scrapers): total refactor
2025-09-22 22:00:20 -04:00
fe158aa65f
fix(qol): remove ai-like comments
2025-09-21 14:00:38 -04:00
0dd145b71e
feat(doc): make docs more concise
2025-09-21 12:06:45 -04:00
c68e6fbc19
fix(ci): unused var
2025-09-21 11:28:29 -04:00
46c615416f
feat(scraper): use backoff
2025-09-21 11:26:54 -04:00
56c7cf00a5
fix(ci): cses
2025-09-21 00:33:35 -04:00
7a027c7379
fix(ci): typing
2025-09-21 00:15:23 -04:00
7b8aae7921
fix(ci): move imports
2025-09-20 23:52:32 -04:00
bd81743274
fix: prefer contess over categories to normalize phrasing
2025-09-20 14:22:35 -04:00
803c2dc76e
feat(scrapers): add contest subcommand to cses
2025-09-20 14:19:35 -04:00
8e13b8c61d
feat(cses): update cses with concept of a category
2025-09-20 14:01:18 -04:00
ff9a3d1abb
fix(ci): run as modukle
2025-09-19 21:20:31 -04:00
ddff996ee2
fix(ci): test
2025-09-19 21:11:12 -04:00
514761733b
fix(scraper): relative python module import path
2025-09-19 20:55:06 -04:00
b12844c3a0
fix(scraper): import path
2025-09-19 20:46:34 -04:00
793063a68e
feat(test_panel): integrate scraped data
2025-09-19 20:41:19 -04:00
fe25b00537
fix(test): fix the scrapers
2025-09-19 20:32:58 -04:00
aedbccffb4
feat(scrapers): update all scrapers to provide time & memory limit
2025-09-19 20:28:20 -04:00
8a6b5dc373
fix(ci): import cleanup
2025-09-18 22:03:42 -04:00
ca6f8417c0
feat: scraper cleanup
2025-09-18 21:49:25 -04:00
Barrett Ruth
de5020e4da
Merge branch 'main' into feat/test
2025-09-18 16:21:45 +02:00
b2e1ea2c58
feat(scraper): update scraper i/o for single test panel
2025-09-18 09:56:54 -04:00
fe9678310e
feat: refactor scrapers
2025-09-17 23:54:37 -04:00
c1c1194945
fix(ci): update typing
2025-09-14 00:11:09 -05:00
8394065169
fix(ci): format
2025-09-14 00:05:23 -05:00
40117c2cf1
feat: caching
2025-09-13 23:46:37 -05:00
3f49721657
add vim.validate on user spec
2025-09-12 16:30:09 -05:00