diff --git a/index.js b/index.js index 589c5a3..7ec4cce 100755 --- a/index.js +++ b/index.js @@ -2,6 +2,11 @@ var imdb = require('imdb-api') var Table = require('cli-table') +var ora = require('ora') +var chalk = require('chalk') + +var spinner = ora() +var arg = process.argv[2] // extracted fields var fields = [ @@ -16,35 +21,52 @@ var fields = [ 'votes' ] +if (arg === '-h' || arg === '--help') { // Display help message + console.log(` + ${chalk.yellow('imdb-cli')} - IMDB cli interface to retrive movies info. + + Usage: ${chalk.cyan('imdb-cli')} ${chalk.magenta('')} + + Example: ${chalk.cyan('imdb-cli')} ${chalk.magenta('the martian')} + + `) + process.exit(1) +} + // istantiate table var table = new Table() var title = process.argv.slice(2).join(' ') if (!title.length) { - console.log('Please provide a valid Title.') + console.log(chalk.red('Please provide a valid Title!')) process.exit(1) } -console.log('Searching for:', title) +spinner.text = `Searching for: ${title}` +spinner.start() // Start ora spinner // get movie info from IMDB -imdb.get(title) +imdb.get(title, {apiKey: 'YOUR_API_KEY'}) //Get one here: http://www.omdbapi.com/apikey.aspx .then(function (data) { if (data.type === 'movie') { + spinner.clear() var filteredData = cleanProps(data) Object.keys(filteredData).forEach(function (i) { var row = {} row[i] = filteredData[i] table.push(row) + spinner.stop() }) console.log(table.toString()) } else { - console.log('No movie found!') + spinner.stop() + console.log(chalk.red('Movie not found!')) } }) .catch(function (err) { - console.log(err) + spinner.stop() + console.log(chalk.red(err)) }) /* util functions */ diff --git a/package.json b/package.json index 9187812..51c66b7 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,9 @@ }, "dependencies": { "cli-table": "^0.3.1", - "imdb-api": "^2.2.1" + "imdb-api": "^3.1.2", + "chalk": "^2.3.0", + "ora": "^1.3.0" }, "repository": { "type": "git",