-
Notifications
You must be signed in to change notification settings - Fork 4
/
CommandLine.js
47 lines (42 loc) · 1.01 KB
/
CommandLine.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
var fs = require("fs");
var optimist = require('optimist')
.usage("Jeffrey - Personal assistant\nExample: node jeffrey.js -l en")
.options("l", {
alias: "lang",
describe: "Language used for Input/Output",
demand: true
})
.options("d",{
alias: "device",
default: "plughw:1,0",
describe: "audio hardware to be used"
})
.options("t", {
alias: "tempDir",
default: "/tmp",
describe: "Directory used for tempory data",
})
.options("w", {
alias:"wolframkey",
describe: "Your API key from Wolfram Alpha"
})
.options("h", {
alias: "help",
describe: "prints this usage information"
})
.check(function(argv) {
var fd;
if (!fs.existsSync(argv.t)) throw ("Error:" + argv.t + " does not exist");
try {
fd = fs.openSync(argv.t + "/jeffrey.tmp", "w");
} catch (e) {
throw("Error:" + argv.t + " is not writeable");
};
fs.closeSync(fd);
});
var argv = optimist.argv;
if (argv.help) {
optimist.showHelp();
process.exit(0);
}
module.exports = argv;