From fbfe3e4c7c1a5f53fbf39ad8b9431f56a8dbfc54 Mon Sep 17 00:00:00 2001 From: undefined Date: Thu, 7 Nov 2024 20:52:17 +0800 Subject: [PATCH] make ci happy --- packages/hydrooj/package.json | 1 + packages/hydrooj/src/handler/contest.ts | 8 ++------ packages/scoreboard-xcpcio/package.json | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index bb30e5a52..a1ddc5c60 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -25,6 +25,7 @@ "adm-zip": "0.5.14", "cac": "^6.7.14", "cordis": "3.18.1", + "csv-stringify": "^6.5.1", "emoji-regex": "^10.4.0", "emojis-list": "2.1.0", "fs-extra": "^11.2.0", diff --git a/packages/hydrooj/src/handler/contest.ts b/packages/hydrooj/src/handler/contest.ts index 0bedadc45..c1fc95a48 100644 --- a/packages/hydrooj/src/handler/contest.ts +++ b/packages/hydrooj/src/handler/contest.ts @@ -1,9 +1,9 @@ import AdmZip from 'adm-zip'; +import { stringify as toCSV } from 'csv-stringify/sync'; import { statSync } from 'fs-extra'; import { pick } from 'lodash'; import moment from 'moment-timezone'; import { ObjectId } from 'mongodb'; -import Schema from 'schemastery'; import { Counter, sortFiles, streamToBuffer, Time, yaml, } from '@hydrooj/utils/lib/utils'; @@ -861,11 +861,7 @@ export async function apply(ctx: Context) { const [, rows] = await contest.getScoreboard.call(this, tdoc.domainId, tdoc._id, { isExport: true, lockAt: this.tdoc.lockAt, showDisplayName: this.user.hasPerm(PERM.PERM_VIEW_DISPLAYNAME), }); - const escapeValue = (i: string) => `"${i.toString().replace(/\n/g, ' ').replace(/"/g, '\\"')}"`; - this.binary( - `\uFEFF${rows.map((c) => (c.map((i) => escapeValue(i.value)).join(','))).join('\n')}`, - `${this.tdoc.title}.csv`, - ); + this.binary(toCSV(rows.map((r) => r.map((c) => c.value.toString()))), `${this.tdoc.title}.csv`); }, supportedRules: ['*'], }); diff --git a/packages/scoreboard-xcpcio/package.json b/packages/scoreboard-xcpcio/package.json index fb75e80b5..8780b39dc 100644 --- a/packages/scoreboard-xcpcio/package.json +++ b/packages/scoreboard-xcpcio/package.json @@ -4,7 +4,7 @@ "version": "0.0.1", "main": "index.ts", "scripts": { - "install": "node -r @hydrooj/register install.ts" + "postinstall": "node -r @hydrooj/register install.ts" }, "dependencies": { "@xcpcio/board-app": "^0.53.2"