parent
6353768256
commit
f96e139b17
|
@ -370,6 +370,53 @@ function storeSettings(settingsObj) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* - reads the JSON configuration file settingsFilename from disk
|
||||||
|
* - strips the comments
|
||||||
|
* - returns a parsed Javascript object
|
||||||
|
*
|
||||||
|
* The isSettings variable only controls the error logging.
|
||||||
|
*/
|
||||||
|
function parseSettings(settingsFilename, isSettings) {
|
||||||
|
let settingsStr = "";
|
||||||
|
|
||||||
|
let settingsType, notFoundMessage, notFoundFunction;
|
||||||
|
|
||||||
|
if (isSettings) {
|
||||||
|
settingsType = "settings";
|
||||||
|
notFoundMessage = "Continuing using defaults!";
|
||||||
|
notFoundFunction = console.warn;
|
||||||
|
} else {
|
||||||
|
settingsType = "credentials";
|
||||||
|
notFoundMessage = "Ignoring.";
|
||||||
|
notFoundFunction = console.info;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
//read the settings file
|
||||||
|
settingsStr = fs.readFileSync(settingsFilename).toString();
|
||||||
|
} catch(e) {
|
||||||
|
notFoundFunction(`No ${settingsType} file found in ${settingsFilename}. ${notFoundMessage}`);
|
||||||
|
|
||||||
|
// or maybe undefined!
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
settingsStr = jsonminify(settingsStr).replace(",]","]").replace(",}","}");
|
||||||
|
|
||||||
|
const settings = JSON.parse(settingsStr);
|
||||||
|
|
||||||
|
console.info(`${settingsType} loaded from: ${settingsFilename}`);
|
||||||
|
|
||||||
|
return settings;
|
||||||
|
} catch(e) {
|
||||||
|
console.error(`There was an error processing your ${settingsType} file from ${settingsFilename}: ${e.message}`);
|
||||||
|
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
exports.reloadSettings = function reloadSettings() {
|
exports.reloadSettings = function reloadSettings() {
|
||||||
// Discover where the settings file lives
|
// Discover where the settings file lives
|
||||||
var settingsFilename = absolutePaths.makeAbsolute(argv.settings || "settings.json");
|
var settingsFilename = absolutePaths.makeAbsolute(argv.settings || "settings.json");
|
||||||
|
@ -377,46 +424,11 @@ exports.reloadSettings = function reloadSettings() {
|
||||||
// Discover if a credential file exists
|
// Discover if a credential file exists
|
||||||
var credentialsFilename = absolutePaths.makeAbsolute(argv.credentials || "credentials.json");
|
var credentialsFilename = absolutePaths.makeAbsolute(argv.credentials || "credentials.json");
|
||||||
|
|
||||||
var settingsStr, credentialsStr;
|
|
||||||
try {
|
|
||||||
//read the settings sync
|
|
||||||
settingsStr = fs.readFileSync(settingsFilename).toString();
|
|
||||||
console.info(`Settings loaded from: ${settingsFilename}`);
|
|
||||||
} catch(e) {
|
|
||||||
console.warn(`No settings file found in ${settingsFilename}. Continuing using defaults!`);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
//read the credentials sync
|
|
||||||
credentialsStr = fs.readFileSync(credentialsFilename).toString();
|
|
||||||
console.info(`Credentials file read from: ${credentialsFilename}`);
|
|
||||||
} catch(e) {
|
|
||||||
// Doesn't matter if no credentials file found..
|
|
||||||
console.info(`No credentials file found in ${credentialsFilename}. Ignoring.`);
|
|
||||||
}
|
|
||||||
|
|
||||||
// try to parse the settings
|
// try to parse the settings
|
||||||
var settings;
|
var settings = parseSettings(settingsFilename, true);
|
||||||
var credentials;
|
|
||||||
try {
|
|
||||||
if (settingsStr) {
|
|
||||||
settingsStr = jsonminify(settingsStr).replace(",]","]").replace(",}","}");
|
|
||||||
settings = JSON.parse(settingsStr);
|
|
||||||
}
|
|
||||||
} catch(e) {
|
|
||||||
console.error(`There was an error processing your settings file from ${settingsFilename}:` + e.message);
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
// try to parse the credentials
|
||||||
if (credentialsStr) {
|
var credentials = parseSettings(credentialsFilename, false);
|
||||||
credentialsStr = jsonminify(credentialsStr).replace(",]","]").replace(",}","}");
|
|
||||||
credentials = JSON.parse(credentialsStr);
|
|
||||||
}
|
|
||||||
} catch(e) {
|
|
||||||
console.error(`There was an error processing your credentials file from ${credentialsFilename}:` + e.message);
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
storeSettings(settings);
|
storeSettings(settings);
|
||||||
storeSettings(credentials);
|
storeSettings(credentials);
|
||||||
|
|
Loading…
Reference in New Issue