Browse Source

Utilisation parser + correction bug prepare

Loquicom 5 năm trước cách đây
mục cha
commit
8978d1ef96
1 tập tin đã thay đổi với 40 bổ sung35 xóa
  1. 40 35
      main.js

+ 40 - 35
main.js

@@ -21,63 +21,68 @@ program
     .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)) {
-            prepare(source, destination);
-            process.exit();
+            parse(source, destination);
         } else {
             console.error(cst.toString(cst.FILE_NOT_FOUND) + ': ' + source);
             process.exit(cst.FILE_NOT_FOUND);
         }
     });
 
+// Parse des arguments CLI
 program.parse(process.argv);
 const name = (program.name && typeof program.name === 'string') ? program.name : null;
 let source = (program.process) ? program.process : program.file;
 
-// Verification que le fichier du pre-traitement existe
-if (!file.exist(source)) {
-    // Impossible de trouver le fichier XML à traiter
-    if (program.process) {
-        console.error(cst.toString(cst.FILE_NOT_FOUND) + ': ' + source);
-        process.exit(cst.FILE_NOT_FOUND);
-    }
-    // Impossible de trouver le fichier resultant du pre-traitement
-    else {
-        console.error(cst.toString(cst.PREPROCESS_NOT_FOUND));
-        process.exit(cst.PREPROCESS_NOT_FOUND);
+// Si on est pas en train de preparer le fichier de pre traitement
+if (process.argv[2] !== 'prepare') {
+    // Verification que le fichier du pre-traitement existe
+    if (!file.exist(source)) {
+        // Impossible de trouver le fichier XML à traiter
+        if (program.process) {
+            console.error(cst.toString(cst.FILE_NOT_FOUND) + ': ' + source);
+            process.exit(cst.FILE_NOT_FOUND);
+        }
+        // Impossible de trouver le fichier resultant du pre-traitement
+        else {
+            console.error(cst.toString(cst.PREPROCESS_NOT_FOUND));
+            process.exit(cst.PREPROCESS_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 co-authors you want to search for: >',
-    }).then(answer => {
-        // Lancement du prgramme
+    // 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 co-authors you want to search for: >',
+        }).then(answer => {
+            // Lancement du prgramme
+            if (program.process) {
+                parse(source, preprocessFile);
+                source = preprocessFile;
+            }
+            find(source, answer.name);
+        });
+    }
+    // Sinon on lance le programme
+    else {
         if (program.process) {
-            prepare(source, preprocessFile);
+            parse(source, preprocessFile);
             source = preprocessFile;
         }
-        find(source, answer.name);
-    });
-}
-// Sinon on lance le programme
-else {
-    if (program.process) {
-        prepare(source, preprocessFile);
-        source = preprocessFile;
+        find(source, name);
     }
-    find(source, name);
 }
 
 /**
  * Prepare le document XML pour la recherche des co-auteurs
- * @param from Chemin vers le fichier XML
- * @param to Chemin pour créer le fichier avec les données traitées
+ * @param source Chemin vers le fichier XML
+ * @param dest Chemin pour créer le fichier avec les données traitées
  */
-function prepare(from, to) {
+function parse(source, dest) {
     //TODO Preparer les données dans un fichier
+    const parser = require('./src/parser').from(source).to(dest);
+    parser.parse(parser.write);
 }
 
 /**