|
@@ -8,21 +8,24 @@ const cst = require('./src/constant');
|
|
const timer = require('./src/timer');
|
|
const timer = require('./src/timer');
|
|
|
|
|
|
// Variables configs et globales
|
|
// Variables configs et globales
|
|
-let sourceFile = './data/dblp.xml';
|
|
|
|
|
|
+const sourceFile = './data/dblp.xml';
|
|
|
|
+const outputFile = './data/extract.xml';
|
|
let verbose = false;
|
|
let verbose = false;
|
|
|
|
|
|
// Parametrage CLI
|
|
// Parametrage CLI
|
|
-program.version('0.0.1');
|
|
|
|
|
|
+program.version('1.0.0');
|
|
|
|
|
|
program
|
|
program
|
|
.option('-n, --name <string>', 'Nom de l\'auteur dont il faut chercher les co-auteurs')
|
|
.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('-f, --file <source>', 'Chemin vers la base de données dblp au format XML', sourceFile)
|
|
|
|
+ .option('-o, --output <source>', 'Chemin pour le fichier XML à générer', outputFile)
|
|
.option('-v, --verbose', 'Affiche plus d\'informations', verbose);
|
|
.option('-v, --verbose', 'Affiche plus d\'informations', verbose);
|
|
|
|
|
|
// Parse des arguments CLI
|
|
// Parse des arguments CLI
|
|
program.parse(process.argv);
|
|
program.parse(process.argv);
|
|
const name = (program.name && typeof program.name === 'string') ? program.name : null;
|
|
const name = (program.name && typeof program.name === 'string') ? program.name : null;
|
|
let source = program.file;
|
|
let source = program.file;
|
|
|
|
+let out = program.output;
|
|
verbose = program.verbose;
|
|
verbose = program.verbose;
|
|
|
|
|
|
// Verification que le fichier du pre-traitement existe
|
|
// Verification que le fichier du pre-traitement existe
|
|
@@ -54,9 +57,14 @@ function extract(source, name) {
|
|
console.info(`Extraction of ${name}'s information...`);
|
|
console.info(`Extraction of ${name}'s information...`);
|
|
timer.start();
|
|
timer.start();
|
|
}
|
|
}
|
|
- //TODO Extraction
|
|
|
|
- if (verbose) {
|
|
|
|
- timer.stop();
|
|
|
|
- console.info(`Information about ${name} extracted in ${timer.time()}`);
|
|
|
|
- }
|
|
|
|
|
|
+ const parser = require('./src/extract/parser').get();
|
|
|
|
+ parser.from(source).search(name).parse(data => {
|
|
|
|
+ if (verbose) {
|
|
|
|
+ timer.stop();
|
|
|
|
+ console.info(`Information about ${name} extracted in ${timer.time()}`);
|
|
|
|
+ }
|
|
|
|
+ // Transforme en XML et ecrit dans le fichier
|
|
|
|
+ const xml = require('./src/extract/formatter').toXml(name, data);
|
|
|
|
+ file.put(out, xml, true);
|
|
|
|
+ });
|
|
}
|
|
}
|