1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #!/usr/bin/env node
- // Imports
- 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 sourceFile = './data/dblp.xml';
- let verbose = false;
- // Parametrage CLI
- program.version('0.0.1');
- 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', sourceFile)
- .option('-v, --verbose', 'Affiche plus d\'informations', verbose);
- // Parse des arguments CLI
- program.parse(process.argv);
- const name = (program.name && typeof program.name === 'string') ? program.name : null;
- let source = program.file;
- verbose = program.verbose;
- // Verification que le fichier du pre-traitement existe
- if (!file.exist(source)) {
- // Impossible de trouver le fichier XML à traiter
- console.error(cst.toString(cst.FILE_NOT_FOUND) + ': ' + source);
- process.exit(cst.FILE_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 information you want to extract: >',
- }).then(answer => {
- // Lancement du prgramme
- extract(source, answer.name);
- });
- }
- // Sinon on lance le programme
- else {
- extract(source, name);
- }
- function extract(source, name) {
- name = name.trim();
- if (verbose) {
- console.info(`Extraction of ${name}'s information...`);
- timer.start();
- }
- //TODO Extraction
- if (verbose) {
- timer.stop();
- console.info(`Information about ${name} extracted in ${timer.time()}`);
- }
- }
|