|
@@ -0,0 +1,53 @@
|
|
|
+#!/usr/bin/env node
|
|
|
+
|
|
|
+// Imports
|
|
|
+const program = require('commander');
|
|
|
+const inquirer = require('inquirer');
|
|
|
+const file = require('./src/file');
|
|
|
+const cst = require('./src/constant');
|
|
|
+const timer = require('./src/timer');
|
|
|
+
|
|
|
+// Variables configs et globales
|
|
|
+let sourceFile = './data/data.ppf';
|
|
|
+let verbose = false;
|
|
|
+
|
|
|
+// Parametrage CLI
|
|
|
+program.version('0.0.1');
|
|
|
+
|
|
|
+program
|
|
|
+ .option('-n, --name <string>', 'Nom de l\'auteur dont il faut chercher les co-auteurs')
|
|
|
+ .option('-f, --file <source>', 'Chemin vers le fichier à utiliser pour la recherche des co-auteurs', sourceFile)
|
|
|
+ .option('-v, --verbose', 'Affiche plus d\'informations', verbose);
|
|
|
+
|
|
|
+// Parse des arguments CLI
|
|
|
+program.parse(process.argv);
|
|
|
+const name = (program.name && typeof program.name === 'string') ? program.name : null;
|
|
|
+let source = program.file;
|
|
|
+verbose = program.verbose;
|
|
|
+
|
|
|
+// Verification que le fichier du pre-traitement existe
|
|
|
+if (!file.exist(source)) {
|
|
|
+ // Impossible de trouver le fichier XML à traiter
|
|
|
+ console.error(cst.toString(cst.FILE_NOT_FOUND) + ': ' + source);
|
|
|
+ process.exit(cst.FILE_NOT_FOUND);
|
|
|
+}
|
|
|
+
|
|
|
+// En cas d'absence de nom on le demande
|
|
|
+if (name === null) {
|
|
|
+ inquirer.prompt({
|
|
|
+ type: 'input',
|
|
|
+ name: 'name',
|
|
|
+ message: 'Enter the name of the author whose information you want to extract: >',
|
|
|
+ }).then(answer => {
|
|
|
+ // Lancement du prgramme
|
|
|
+ extract(source, name);
|
|
|
+ });
|
|
|
+}
|
|
|
+// Sinon on lance le programme
|
|
|
+else {
|
|
|
+ extract(source, name);
|
|
|
+}
|
|
|
+
|
|
|
+function extract(source, name) {
|
|
|
+ //TODO Extraction
|
|
|
+}
|