From 9f0668d93812fbc30f846d16286da6acb2925c62 Mon Sep 17 00:00:00 2001 From: undefined Date: Sun, 29 Nov 2020 18:21:16 +0800 Subject: [PATCH] judge: skip subtask if already unaccepted (#34) --- package.json | 4 ++-- packages/hydrojudge/package.json | 6 +++--- packages/hydrojudge/src/judge/default.ts | 15 +++++++++++++++ packages/hydrooj/package.json | 4 ++-- packages/hydrooj/src/lib/i18n.ts | 3 +++ packages/hydrooj/src/service/monitor.ts | 1 + 6 files changed, 26 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 0770b3b7..f055bc76 100644 --- a/package.json +++ b/package.json @@ -21,12 +21,12 @@ "@shelf/jest-mongodb": "^1.2.3", "@types/cross-spawn": "^6.0.2", "@types/jest": "^26.0.14", - "@types/node": "^14.14.8", + "@types/node": "^14.14.10", "@types/semver": "^7.3.4", "@typescript-eslint/eslint-plugin": "^3.9.1", "@typescript-eslint/parser": "^3.9.1", "cross-spawn": "^7.0.3", - "eslint": "^7.13.0", + "eslint": "^7.14.0", "eslint-config-airbnb-base": "^14.2.1", "eslint-import-resolver-typescript": "^2.3.0", "eslint-plugin-import": "^2.22.1", diff --git a/packages/hydrojudge/package.json b/packages/hydrojudge/package.json index 1a7f7210..43bfc2b5 100644 --- a/packages/hydrojudge/package.json +++ b/packages/hydrojudge/package.json @@ -1,7 +1,7 @@ { "name": "@hydrooj/hydrojudge", "bin": "bin/hydrojudge.js", - "version": "2.1.27", + "version": "2.1.28", "main": "package.json", "author": "masnn", "repository": "https://github.com/hydro-dev/Hydro.git", @@ -14,8 +14,8 @@ "lodash": "^4.17.20", "p-queue": "^6.6.1", "shell-quote": "^1.7.2", - "supports-color": "^7.2.0", - "systeminformation": "^4.30.1", + "supports-color": "^8.0.0", + "systeminformation": "^4.30.6", "yargs": "^16.1.1" }, "peerDependencies": { diff --git a/packages/hydrojudge/src/judge/default.ts b/packages/hydrojudge/src/judge/default.ts index 1b0c03ac..18121d86 100644 --- a/packages/hydrojudge/src/judge/default.ts +++ b/packages/hydrojudge/src/judge/default.ts @@ -18,6 +18,21 @@ const Score = { function judgeCase(c) { return async (ctx, ctxSubtask) => { + if ((ctxSubtask.subtask.type === 'min' && !ctxSubtask.score) + || (ctxSubtask.subtask.type === 'max' && ctxSubtask.score === ctxSubtask.subtask.score)) { + ctx.next({ + status: STATUS.STATUS_JUDGING, + case: { + status: STATUS.STATUS_CANCELED, + score: 0, + time_ms: 0, + memory_kb: 0, + message: '', + }, + progress: Math.floor((c.id * 100) / ctx.config.count), + }, c.id); + return; + } const { filename } = ctx.config; const copyIn = { ...ctx.execute.copyIn }; if (filename) copyIn[`${filename}.in`] = { src: c.input }; diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 3f1c4e79..da97151d 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -30,8 +30,8 @@ "serialize-javascript": "^5.0.1", "sockjs": "^0.3.20", "superagent": "^6.1.0", - "supports-color": "^7.2.0", - "systeminformation": "^4.30.1", + "supports-color": "^8.0.0", + "systeminformation": "^4.30.6", "wtfnode": "^0.8.4", "yargs": "^16.1.1" }, diff --git a/packages/hydrooj/src/lib/i18n.ts b/packages/hydrooj/src/lib/i18n.ts index 69b2ecad..6352cfc7 100644 --- a/packages/hydrooj/src/lib/i18n.ts +++ b/packages/hydrooj/src/lib/i18n.ts @@ -48,6 +48,9 @@ String.prototype.translate = function translate(...languages: string[]) { if (locales[language]) { if (locales[language][this] !== undefined) return locales[language][this]; } + if (locales[language.split('_')[0]]) { + if (locales[language.split('_')[0]][this] !== undefined) return locales[language.split('_')[0]][this]; + } } return this; }; diff --git a/packages/hydrooj/src/service/monitor.ts b/packages/hydrooj/src/service/monitor.ts index 215ee036..e16b2f20 100644 --- a/packages/hydrooj/src/service/monitor.ts +++ b/packages/hydrooj/src/service/monitor.ts @@ -44,6 +44,7 @@ export async function feedback() { addons: global.addons, memory: inf.memory, osinfo: inf.osinfo, + cpu: inf.cpu, flags: inf.flags, })); axios.post('https://feedback.undefined.moe/', { payload });