| @ -0,0 +1,70 @@ | |||
| #!/usr/bin/env node | |||
| var dogapi = require("../"); | |||
| var minimist = require("minimist"); | |||
| var rc = require("rc"); | |||
| var config = rc("dogapi", { | |||
| api_key: null, | |||
| app_key: null | |||
| }); | |||
| dogapi.initialize(config); | |||
| var usage = [ | |||
| "Usage:", | |||
| "${command} --help", | |||
| "${command} --version", | |||
| "${command} now", | |||
| "${command} then <seconds-ago>" | |||
| ]; | |||
| var help = []; | |||
| for(var key in dogapi){ | |||
| if(!dogapi.hasOwnProperty(key)){ | |||
| continue; | |||
| } else if(!dogapi[key].hasOwnProperty("getUsage") || typeof dogapi[key].getUsage !== "function"){ | |||
| continue; | |||
| } else if(!dogapi[key].hasOwnProperty("handleCli") || typeof dogapi[key].handleCli !== "function"){ | |||
| continue; | |||
| } | |||
| usage = usage.concat(dogapi[key].getUsage()); | |||
| if(dogapi[key].hasOwnProperty("getHelp") && typeof dogapi[key].getHelp === "function"){ | |||
| help = help.concat(["\r\n"], dogapi[key].getHelp()); | |||
| } | |||
| } | |||
| usage = usage.concat(help); | |||
| usage = usage.join("\r\n").replace(/\$\{command\}/g, " dogapi"); | |||
| var args = minimist(process.argv); | |||
| var command = args._[2]; | |||
| var subcommand = args._[3]; | |||
| if(command === "now"){ | |||
| console.log(dogapi.now()); | |||
| } else if(command === "then" && args._.length > 3){ | |||
| console.log(dogapi.now() - parseInt(args._[args._.length - 1])); | |||
| } else if(dogapi.hasOwnProperty(command)){ | |||
| if(subcommand && dogapi[command].hasOwnProperty(subcomand)){ | |||
| dogapi[command].handleCli(subcommand, args, function(err, res){ | |||
| if(err){ | |||
| console.error(err); | |||
| process.exit(1); | |||
| } else { | |||
| if(res === ""){ | |||
| res = "success"; | |||
| } | |||
| console.log(res); | |||
| } | |||
| }); | |||
| } else { | |||
| var commandUsage = ["Usage:"].concat(dogapi[command].getUsage()); | |||
| if(dogapi[command].hasOwnProperty("getHelp") && typeof dogapi[command].getHelp === "function"){ | |||
| commandUsage = commandUsage.concat(["\r\n"], dogapi[command].getHelp()); | |||
| } | |||
| console.log(commandUsage.join("\r\n").replace(/\$\{command\}/g, " dogapi")); | |||
| } | |||
| } else if(args.version){ | |||
| console.log(require("../package.json").version); | |||
| } else { | |||
| console.log(usage); | |||
| } | |||