import-qduoj: fix source field

This commit is contained in:
undefined committed 2024-11-24 16:12:12 +08:00
1 parent 92499d4d4b
commit eba7401284
1 file changed
+3 -2
+3 -2
View File
@@ -10,6 +10,7 @@ const tmpdir = path.join(os.tmpdir(), 'hydro', 'import-qduoj');
fs.ensureDirSync(tmpdir);
const StringValue = Schema.object({
format: Schema.union(['html', 'markdown']).default('html'),
value: Schema.string(),
});
const ProblemSchema = Schema.object({
@@ -23,7 +24,7 @@ const ProblemSchema = Schema.object({
output: Schema.string(),
})),
hint: StringValue,
source: StringValue,
source: Schema.union([StringValue, Schema.string()]),
display_id: Schema.string(),
time_limit: Schema.union([Schema.number(), Schema.string()]).required(),
memory_limit: Schema.union([Schema.number(), Schema.string()]).required(),
@@ -63,7 +64,7 @@ class ImportQduojHandler extends Handler {
output: pdoc.output_description?.value,
samples: pdoc.samples.map((sample) => [sample.input, sample.output]),
hint: pdoc.hint?.value,
source: pdoc.source?.value,
source: typeof pdoc.source === 'string' ? pdoc.source : pdoc.source?.value || '',
}, 'html');
if (+pdoc.display_id) pdoc.display_id = `P${pdoc.display_id}`;
const isValidPid = async (id: string) => {