grading
Version:
Grading of student submissions, in particular programming tests.
43 lines • 2.03 kB
JavaScript
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
;