From 267b7925878c86b4947ad40756cc491d6c5d7dd2 Mon Sep 17 00:00:00 2001 From: undefined Date: Fri, 17 Sep 2021 03:48:35 +0800 Subject: [PATCH] vjudge: luogu: add finished count --- packages/vjudge/package.json | 2 +- packages/vjudge/src/providers/luogu.ts | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/vjudge/package.json b/packages/vjudge/package.json index 7f4ecd035..05393c065 100644 --- a/packages/vjudge/package.json +++ b/packages/vjudge/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/vjudge", - "version": "1.3.4", + "version": "1.3.5", "description": "Submit problems to remote oj", "main": "package.json", "repository": "https://github.com/hydro-dev/Hydro.git", diff --git a/packages/vjudge/src/providers/luogu.ts b/packages/vjudge/src/providers/luogu.ts index 96d8ed813..3c3fd5dfb 100644 --- a/packages/vjudge/src/providers/luogu.ts +++ b/packages/vjudge/src/providers/luogu.ts @@ -121,6 +121,7 @@ export default class LuoguProvider implements IBasicProvider { const done = {}; let fail = 0; let count = 0; + let finished = 0; while (count < 120 && fail < 5) { await sleep(1500); count++; @@ -135,12 +136,11 @@ export default class LuoguProvider implements IBasicProvider { } logger.info('Fetched with length', JSON.stringify(body).length); const total = flattenDeep(body.currentData.testCaseGroup).length; - logger.info(total); - logger.info(!!data.detail.judgeResult); // TODO sorted for (const subtask of data.detail.judgeResult?.subtasks || []) { - for (const cid of Object.keys(subtask.testCases)) { + for (const cid in subtask.testCases || {}) { if (done[`${subtask.id}.${cid}`]) continue; + finished++; done[`${subtask.id}.${cid}`] = true; const testcase = subtask.testCases[cid]; await next({ @@ -151,7 +151,7 @@ export default class LuoguProvider implements IBasicProvider { memory: testcase.memory, message: testcase.description, }, - progress: (Object.keys(done).length / total) * 100, + progress: (finished / total) * 100, }); } }