UNPKG

grading

Version:

Grading of student submissions, in particular programming tests.

43 lines 2.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cmdSelected = void 0; const cliUtil_1 = require("./cliUtil"); const cmdCheck_1 = require("./cmdCheck"); const cmdGrade_1 = require("./cmdGrade"); const cmdPDF_1 = require("./cmdPDF"); async function cmdSelected(selected, options) { (0, cliUtil_1.verbosity)(options); (0, cliUtil_1.log)("Check, grade and create PDF for selected submissions."); const errors = []; try { if (!selected || !selected.length) { program.error("No filter IDs specified."); } const zipFile = await (0, cliUtil_1.retrieveZipFile)(options.zipFile, options); const moodleFile = await (0, cliUtil_1.retrieveOriginalMoodleFile)(options.moodleFile, options); // part 1: run check for selected submissions (0, cliUtil_1.log)("--------------------------------------------------"); (0, cliUtil_1.log)("Perform checks for selected submissions."); await (0, cmdCheck_1.cmdCheck)(zipFile, { ...options, selected: selected }, true, errors); // part 2: run grading (0, cliUtil_1.log)("--------------------------------------------------"); (0, cliUtil_1.log)("Perform grading for all submissions."); await (0, cmdGrade_1.cmdGrade)(moodleFile, options, true); // part 3: create PDF report (0, cliUtil_1.log)("--------------------------------------------------"); (0, cliUtil_1.log)("Create PDF report for selected submissions."); await (0, cmdPDF_1.cmdPDF)({ ...options, selected: selected }, true); } catch (err) { (0, cliUtil_1.error)(`${SEP}`); // error(`${SEP}\nError: ${err}`); program.error(String(err)); } (0, cliUtil_1.log)(`${SEP}\nDone.`); if (errors.length > 0) { (0, cliUtil_1.error)(`There were ${errors.length} errors:`); errors.forEach(msg => (0, cliUtil_1.error)(msg)); } } exports.cmdSelected = cmdSelected; //# sourceMappingURL=cmdSelected.js.map