cloudcmd/lib/server/config.js
2014-10-17 02:37:42 -04:00

50 lines
1.3 KiB
JavaScript

(function() {
'use strict';
var DIR_SERVER = __dirname + '/',
DIR_LIB = DIR_SERVER + '../',
DIR = DIR_SERVER + '../../',
HOME_WIN = process.env.HOMEPATH,
HOME_UNIX = process.env.HOME,
HOME = (HOME_UNIX || HOME_WIN) + '/',
fs = require('fs'),
Util = require(DIR_LIB + 'util'),
tryRequire = require(DIR_SERVER + 'tryRequire'),
ConfigPath = DIR + 'json/config.json',
ConfigHome = HOME + '.cloudcmd.json',
config =
tryRequire(ConfigHome) ||
tryRequire(ConfigPath, {log: true}) || {};
module.exports = function(key, value) {
var result;
if (value === undefined)
result = config[key];
else
config[key] = value;
return result;
};
module.exports.save = function(callback) {
var data = Util.json.stringify(config);
Util.checkArgs(arguments, ['callback']);
if (data)
fs.writeFile(ConfigHome, data, callback);
else
callback({
message: 'Error: config is empty!'
});
};
})();