From c9d4eb3d1f17a4fee80d87cbfbd365fff50f9c7c Mon Sep 17 00:00:00 2001 From: undefined Date: Mon, 21 Jun 2021 21:34:59 +0800 Subject: [PATCH] vjudge: codeforces: handle redirect --- packages/vjudge/package.json | 2 +- packages/vjudge/src/providers/codeforces.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/vjudge/package.json b/packages/vjudge/package.json index ac54049cb..eefdca840 100644 --- a/packages/vjudge/package.json +++ b/packages/vjudge/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/vjudge", - "version": "1.0.7", + "version": "1.0.8", "description": "Submit problems to remote oj", "main": "package.json", "repository": "https://github.com/hydro-dev/Hydro.git", diff --git a/packages/vjudge/src/providers/codeforces.ts b/packages/vjudge/src/providers/codeforces.ts index 850d21a62..896959015 100644 --- a/packages/vjudge/src/providers/codeforces.ts +++ b/packages/vjudge/src/providers/codeforces.ts @@ -100,7 +100,7 @@ export default class CodeforcesProvider implements IBasicProvider { async getProblem(id: string) { logger.info(id); const [, contestId, problemId] = id.startsWith('P921') - ? ['', '921', id.split('P921')[1]] + ? ['', '921', '01'] : /^P(\d+)([A-Z][0-9]?)$/.exec(id); const res = await this.get(`/problemset/problem/${contestId}/${problemId}`); if (!res.text) return null; @@ -139,7 +139,7 @@ export default class CodeforcesProvider implements IBasicProvider { }); const description = document.body.innerHTML.trim(); return { - title, + title: id.startsWith('P921') ? title.replace('1', id.split('P921')[1]) : title, data: { 'config.yaml': Buffer.from(`time: ${time}s\nmemory: ${memory}m\ntype: remote_judge\nsubType: codeforces\ntarget: ${id}`), },