pelias-csv-importer
Version:
Pelias import pipeline for data from CSV files
39 lines (28 loc) • 1.2 kB
JavaScript
var peliasConfig = require( 'pelias-config' ).generate(require('./schema'));
var logger = require( 'pelias-logger' ).get( 'csv-importer' );
var parameters = require( './lib/parameters' );
var importPipeline = require( './lib/importPipeline' );
// Pretty-print the total time the import took.
function startTiming() {
var startTime = new Date().getTime();
process.on( 'exit', function (){
var totalTimeTaken = (new Date().getTime() - startTime).toString();
var seconds = totalTimeTaken.slice(0, totalTimeTaken.length - 3);
var milliseconds = totalTimeTaken.slice(totalTimeTaken.length - 3);
logger.info( 'Total time taken: %s.%ss', seconds, milliseconds );
});
}
var args = parameters.interpretUserArgs( process.argv.slice( 2 ) );
if( 'exitCode' in args ){
((args.exitCode > 0) ? logger.error : logger.info)( args.errMessage );
process.exit( args.exitCode );
} else {
startTiming();
var files = parameters.getFileList(peliasConfig, args);
const importer_id = args['parallel-id'];
let importer_name = 'csv';
if (importer_id !== undefined) {
importer_name = `csv-${importer_id}`;
}
importPipeline.create( files, args.dirPath, importer_name);
}