From 0ad261e8a5ec4ba4ad88a00b5f4203325fcbf757 Mon Sep 17 00:00:00 2001 From: undefined Date: Sun, 13 Oct 2024 03:49:33 +0100 Subject: [PATCH] core: fix contest ghostfile export (fix #883) (#885) --- packages/hydrooj/src/handler/contest.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/hydrooj/src/handler/contest.ts b/packages/hydrooj/src/handler/contest.ts index fe774722b..efd8a3954 100644 --- a/packages/hydrooj/src/handler/contest.ts +++ b/packages/hydrooj/src/handler/contest.ts @@ -285,6 +285,13 @@ export class ContestScoreboardHandler extends ContestDetailBaseHandler { const pid = (i: number) => String.fromCharCode(65 + i); const escape = (i: string) => i.replace(/[",]/g, ''); const unknownSchool = this.translate('Unknown School'); + const statusMap = { + [STATUS.STATUS_ACCEPTED]: 'AC', + [STATUS.STATUS_WRONG_ANSWER]: 'WA', + [STATUS.STATUS_COMPILE_ERROR]: 'CE', + [STATUS.STATUS_TIME_LIMIT_EXCEEDED]: 'TL', + [STATUS.STATUS_RUNTIME_ERROR]: 'RT', + }; const submissions = teams.flatMap((i, idx) => { if (!i.journal) return []; const journal = i.journal.filter((s) => tdoc.pids.includes(s.pid)); @@ -292,7 +299,7 @@ export class ContestScoreboardHandler extends ContestDetailBaseHandler { return journal.map((s) => { const id = pid(tdoc.pids.indexOf(s.pid)); c[id]++; - return `@s ${idx + 1},${id},${c[id]},${time(s.rid)},${s.status === STATUS.STATUS_ACCEPTED ? 'AC' : 'RJ'}`; + return `@s ${idx + 1},${id},${c[id]},${time(s.rid)},${statusMap[s.status] || 'RJ'}`; }); }); const res = [