diff options
author | liam4 <towerofnix@gmail.com> | 2017-07-20 18:55:18 -0300 |
---|---|---|
committer | liam4 <towerofnix@gmail.com> | 2017-07-20 18:55:18 -0300 |
commit | 1a02fe1688d66aea6277f61fcc305a6aed4e7d76 (patch) | |
tree | 6e64e928acf81af89fd7f0e802d94eb0c844a63e /src/cli.js | |
parent | 2680ea9126499fb775b699f1dbd4ac9aacbc4e4a (diff) |
Update JS to have one main http-music command
Diffstat (limited to 'src/cli.js')
-rw-r--r-- | src/cli.js | 37 |
1 files changed, 37 insertions, 0 deletions
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)) +} |