|  | @@ -0,0 +1,53 @@
 | 
	
		
			
				|  |  | +#!/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/data.ppf';
 | 
	
		
			
				|  |  | +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, name);
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +// Sinon on lance le programme
 | 
	
		
			
				|  |  | +else {
 | 
	
		
			
				|  |  | +    extract(source, name);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +function extract(source, name) {
 | 
	
		
			
				|  |  | +    //TODO Extraction
 | 
	
		
			
				|  |  | +}
 |