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.
This commit is contained in:
parent
c7f2af16d4
commit
3c11d609f5
26 changed files with 336 additions and 158 deletions
|
|
@ -266,6 +266,7 @@ end
|
|||
---@param memory_mb number
|
||||
---@param interactive boolean
|
||||
---@param multi_test boolean
|
||||
---@param precision number?
|
||||
function M.set_test_cases(
|
||||
platform,
|
||||
contest_id,
|
||||
|
|
@ -467,6 +468,7 @@ function M.clear_credentials(platform)
|
|||
M.save()
|
||||
end
|
||||
|
||||
---@return nil
|
||||
function M.clear_all()
|
||||
cache_data = {}
|
||||
M.save()
|
||||
|
|
@ -488,6 +490,7 @@ function M.get_data_pretty()
|
|||
return vim.inspect(cache_data)
|
||||
end
|
||||
|
||||
---@return table
|
||||
function M.get_raw_cache()
|
||||
return cache_data
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue