#!/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 ', 'Nom de l\'auteur dont il faut chercher les co-auteurs') .option('-f, --file ', '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, name); }); } // Sinon on lance le programme else { extract(source, name); } function extract(source, name) { name = name.trim(); if (verbose) { console.info(`Search for ${name}'s co-authors...`); timer.start(); } //TODO Extraction if (verbose) { timer.stop(); console.info(`${name}'s co-authors find in ${timer.time()}`); } }