UNPKG

moocauto

Version:

Herramienta de corrección automática para los MOOCs de MiriadaX de la UPM

83 lines (74 loc) 2.98 kB
#!/usr/bin/env node var { spawn, execSync } = require('child_process'); var opsys = process.platform; var suffix = "Linux"; var isUpload = false; var myArgs = process.argv.slice(2); console.log("\n"); (function checkArgs () { for (var i = 0; i < myArgs.length; i++) { var arg = myArgs[i].trim(); switch (arg) { case "--help": case "-h": console.info(` # # ####### ####### ##### ## ## # # # # # # ## # # ##### #### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ###### # # # # # # # # # # # # # # # # # # # # # # ####### ####### ##### # # #### # #### Herramienta de autocorrección para MiriadaX Uso: Si se ha instalado como paquete global $ moocauto [OPCIONES] Si se ha instalado como paquete local $ npx moocauto # desde el directorio donde está el package.json de la práctica Opciones: [sin opciones]: Ejecuta los tests sobre el código de la entrega -h, --help: Ayuda sobre los comandos disponibles en la herramienta -v, --version: Comprueba la versión de moocauto `) process.exit(0); return; case "--version": case "-v": var currentVersion = require('../package.json').version; var latestVersion = undefined; try { latestVersion = execSync("npm show moocauto version").toString().trim(); if (latestVersion === currentVersion) { console.log("Tienes la última versión del moocauto (" + currentVersion + ")\n") } else { console.log("No tienes la última versión del moocauto (" + latestVersion + "). La versión instalada es la " + currentVersion); console.log("\nPara actualizarlo ejecuta \"npm update -g moocauto\" si lo has instalado como paquete global, o \"npm update moocauto\" si lo has instalado como paquete local"); } } catch (err) { console.error ("No se ha podido comprobar si el moocauto está utilizado. La versión instalada es la " + currentVersion); } process.exit(0); return; case "--upload": case "-u": isUpload = true; return; default: if (i === myArgs.length - 1) { console.log("No se reconoce la opción " + arg ); console.log("\nPara obtener ayuda sobre las opciones disponibles ejecuta \"moocauto -h\" (o \"npx moocauto -h\" si lo has instalado como paquete local)"); process.exit(0); } else { console.log("No se reconoce la opción " + arg); } } } })() if (opsys == "darwin") { // Mac suffix= "MacOS"; } else if (opsys == "win32" || opsys == "win64") { // Win suffix = "Windows.exe"; } console.log("\nOS detectado: " + suffix.split(".")[0]); var cmd = __dirname + "/corrector-" + suffix.toLowerCase(); spawn(cmd, isUpload ? ["upload"] : [] ,{stdio: 'inherit'});