From 1a02fe1688d66aea6277f61fcc305a6aed4e7d76 Mon Sep 17 00:00:00 2001 From: liam4 Date: Thu, 20 Jul 2017 18:55:18 -0300 Subject: Update JS to have one main http-music command --- src/cli.js | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/cli.js (limited to 'src/cli.js') diff --git a/src/cli.js b/src/cli.js new file mode 100644 index 0000000..d88ddc0 --- /dev/null +++ b/src/cli.js @@ -0,0 +1,37 @@ +#!/usr/bin/env node + +// Let this forever be of use to people who run into +// maxlistenersexceededwarning. +process.on('warning', e => console.warn(e.stack)) + +async function main(args) { + let script + + if (args.length === 0) { + console.error("No command provided.") + console.error("Try 'man http-music'?") + return + } + + switch (args[0]) { + case 'play': script = require('./play'); break + case 'crawl-http': script = require('./crawl-http'); break + case 'crawl-local': script = require('./crawl-local'); break + case 'crawl-itunes': script = require('./crawl-itunes'); break + case 'download-playlist': script = require('./download-playlist'); break + + default: + console.error(`Invalid command "${args[0]}" provided.`) + console.error("Try 'man http-music'?") + return + } + + await script(args.slice(1)) +} + +module.exports = main + +if (require.main === module) { + main(process.argv.slice(2)) + .catch(err => console.error(err)) +} -- cgit 1.3.0-6-gf8a5