cloudcmd/bin/cloudcmd.js
2014-07-16 07:37:11 -04:00

81 lines
1.8 KiB
JavaScript
Executable file

#!/usr/bin/env node
(function(){
'use strict';
var Info = require('../package'),
fs = require('fs'),
DIR = __dirname + '/../',
DIR_LIB = DIR + 'lib/',
Util = require(DIR_LIB + 'util'),
CloudFunc = require(DIR_LIB + 'cloudfunc'),
argv = process.argv,
length = argv.length - 1,
argvLast = argv[length];
switch (argvLast) {
default:
start();
break;
case '--test':
Util.log('Cloud Commander testing mode');
Util.log('argv: ', argv);
start({
test: true
});
break;
case '-v':
version();
break;
case '--version':
version();
break;
}
function version() {
console.log('v' + Info.version);
}
function start(params) {
var cloudcmd = require('../cloudcmd');
readConfig(function(msg, config) {
if (params && params.test)
config.test = params.test;
Util.log(msg);
cloudcmd.start(config);
});
}
function readConfig(callback) {
var path = DIR + 'json/config.json';
Util.checkArgs(arguments, ['callback']);
fs.readFile(path, 'utf8', function(error, data) {
var status, config, msg;
if (error) {
status = 'error';
} else {
status = 'ok';
config = Util.parseJSON(data);
}
msg = CloudFunc.formatMsg('read', 'config', status);
callback(msg, config);
});
}
})();