|
@@ -25,7 +25,9 @@ program
|
|
|
.action((source, destination = preprocessFile) => {
|
|
|
if (file.exist(source)) {
|
|
|
verbose = true;
|
|
|
- parse(source, destination);
|
|
|
+ parse(source, destination, () => {
|
|
|
+ process.exit();
|
|
|
+ });
|
|
|
} else {
|
|
|
console.error(cst.toString(cst.FILE_NOT_FOUND) + ': ' + source);
|
|
|
process.exit(cst.FILE_NOT_FOUND);
|
|
@@ -65,19 +67,23 @@ if (process.argv[2] !== 'prepare') {
|
|
|
}).then(answer => {
|
|
|
// Lancement du prgramme
|
|
|
if (program.process) {
|
|
|
- parse(source, preprocessFile);
|
|
|
- source = preprocessFile;
|
|
|
+ parse(source, preprocessFile, ppf => {
|
|
|
+ find(ppf, name);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ find(source, answer.name);
|
|
|
}
|
|
|
- find(source, answer.name);
|
|
|
});
|
|
|
}
|
|
|
// Sinon on lance le programme
|
|
|
else {
|
|
|
if (program.process) {
|
|
|
- parse(source, preprocessFile);
|
|
|
- source = preprocessFile;
|
|
|
+ parse(source, preprocessFile, ppf => {
|
|
|
+ find(ppf, name);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ find(source, name);
|
|
|
}
|
|
|
- find(source, name);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -85,8 +91,9 @@ if (process.argv[2] !== 'prepare') {
|
|
|
* Prepare le document XML pour la recherche des co-auteurs
|
|
|
* @param source Chemin vers le fichier XML
|
|
|
* @param dest Chemin pour créer le fichier avec les données traitées
|
|
|
+ * @param callback Fonction à appelet après l'analyse, prend en parametre le chemin vers le fichier .ppf
|
|
|
*/
|
|
|
-function parse(source, dest) {
|
|
|
+function parse(source, dest, callback = null) {
|
|
|
// Verification que l'extension du fichier dest est bien .ppf
|
|
|
if (file.getExtension(dest) !== 'ppf') {
|
|
|
dest += '.ppf';
|
|
@@ -103,6 +110,9 @@ function parse(source, dest) {
|
|
|
timer.stop();
|
|
|
console.info(`Pre-processing file created at ${dest} in ${timer.time()}`);
|
|
|
}
|
|
|
+ if (callback !== null) {
|
|
|
+ callback(dest);
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
|