|
@@ -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);
|
|
|
}
|
|
|
|
|
|
/**
|