utils: fix subtask parser

pull/670/head
undefined 12 months ago
parent ed396dc529
commit 6cce9784d4
No known key found for this signature in database

@ -314,6 +314,7 @@ export function readSubtasksFromFiles(files: string[], config) {
const subtask: Record<number, ParsedSubtask> = {}; const subtask: Record<number, ParsedSubtask> = {};
for (const s of config.subtasks || []) if (s.id) subtask[s.id] = s; for (const s of config.subtasks || []) if (s.id) subtask[s.id] = s;
for (const file of files) { for (const file of files) {
let match = false;
for (const rule of SubtaskMatcher) { for (const rule of SubtaskMatcher) {
const data = rule.regex.exec(file); const data = rule.regex.exec(file);
if (!data) continue; if (!data) continue;
@ -324,6 +325,7 @@ export function readSubtasksFromFiles(files: string[], config) {
if (config.noOutputFile) c.output = '/dev/null'; if (config.noOutputFile) c.output = '/dev/null';
else c.output = func(data); else c.output = func(data);
if (c.output === '/dev/null' || files.includes(c.output)) { if (c.output === '/dev/null' || files.includes(c.output)) {
match = true;
if (!subtask[sid]) { if (!subtask[sid]) {
subtask[sid] = { subtask[sid] = {
time: config.time, time: config.time,
@ -336,6 +338,7 @@ export function readSubtasksFromFiles(files: string[], config) {
break; break;
} }
} }
if (match) break;
} }
} }
return Object.values(subtask); return Object.values(subtask);

Loading…
Cancel
Save