judge: skip subtask if already unaccepted (#34)

pull/39/head
undefined 4 years ago
parent 1817341eee
commit 9f0668d938

@ -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",

@ -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": {

@ -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 };

@ -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"
},

@ -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;
};

@ -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 });

Loading…
Cancel
Save