Przeglądaj źródła

Ajout option verbose et timer

Arthur Brandao 5 lat temu
rodzic
commit
1aa3f0344e
1 zmienionych plików z 17 dodań i 4 usunięć
  1. 17 4
      main.js

+ 17 - 4
main.js

@@ -5,9 +5,11 @@ 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 preprocessFile = './data/data.ppf';
+let verbose = false;
 
 // Parametrage CLI
 program.version('1.0.0');
@@ -15,12 +17,14 @@ program.version('1.0.0');
 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', preprocessFile)
-    .option('-p, --process <source>', 'Prepare le fichier source et effectue la recherche des co-auteurs');
+    .option('-p, --process <source>', 'Prepare le fichier source et effectue la recherche des co-auteurs')
+    .option('-v, --verbose', 'Affiche plus d\'informations', verbose);
 program
     .command('prepare <source> [destination]')
     .description(`Prepare un fichier XML (source) pour la recherche des co-auteurs, le resultat est mis dans le fichier destination (default ${preprocessFile})`)
     .action((source, destination = preprocessFile) => {
         if (file.exist(source)) {
+            verbose = true;
             parse(source, destination);
         } else {
             console.error(cst.toString(cst.FILE_NOT_FOUND) + ': ' + source);
@@ -32,6 +36,7 @@ program
 program.parse(process.argv);
 const name = (program.name && typeof program.name === 'string') ? program.name : null;
 let source = (program.process) ? program.process : program.file;
+verbose = program.verbose;
 
 // Si on est pas en train de preparer le fichier de pre traitement
 if (process.argv[2] !== 'prepare') {
@@ -80,10 +85,16 @@ if (process.argv[2] !== 'prepare') {
  * @param dest Chemin pour créer le fichier avec les données traitées
  */
 function parse(source, dest) {
-    console.info('Beginning of pre-processing...');
+    if (verbose) {
+        console.info('Beginning of pre-processing...');
+        timer.start();
+    }
     const parser = require('./src/parser').from(source).to(dest);
     parser.parse(dest => {
-        console.info(`Pre-processing file created at ${dest}`);
+        if (verbose) {
+            timer.stop();
+            console.info(`Pre-processing file created at ${dest} in ${timer.time()}`);
+        }
     });
 }
 
@@ -94,7 +105,9 @@ function parse(source, dest) {
  */
 function find(source, name) {
     console.info(`Search for ${name}'s co-authors...`);
+    timer.start();
     require('./src/finder').in(source).find(name, (result) => {
-        console.log('res', result);
+        timer.stop();
+        console.log('res', result, timer.time(), timer.second());
     });
 }