mountainlab
Version:
MountainLab data analysis environment
55 lines (50 loc) • 1.92 kB
JavaScript
exports.cmd_config=cmd_config;
var common=require(__dirname+'/common.js');
const fs=require('fs');
function cmd_config(name,opts,callback) {
if (name) {
if (name=='package_directory') {
console.info(common.main_package_directory());
}
else {
console.error(`Invalid name: ${name}`);
}
return;
}
var ml_config_file=common.config_file_path();
var txt=common.read_text_file(__dirname+'/display_config.template');
txt = txt.split("$configuration_file$");
if (fs.existsSync(ml_config_file)) {
txt=txt.join(common.config_file_path());
} else {
txt[0] = ('-----------------------------------------------------------\nNo config file found at: '+ml_config_file);
txt = txt[0].concat(...txt.slice(1));
}
var env_names=[
'ML_TEMPORARY_DIRECTORY',
'ML_PACKAGE_SEARCH_DIRECTORY',
'ML_ADDITIONAL_PACKAGE_SEARCH_DIRECTORIES',
'ML_ADDITIONAL_PRV_SEARCH_DIRECTORIES',
'ML_DATABASE_DIRECTORY'
];
for (var i in env_names) {
txt=txt.split(`$${env_names[i]}$`).join((process.env[env_names[i]]||'[default]'));
}
txt=txt.split('$temporary_directory$').join(common.temporary_directory());
txt=txt.split('$package_search_directories$').join(common.package_search_directories().join(':'));
txt=txt.split('$prv_search_directories$').join(common.prv_search_directories().join(':'));
txt=txt.split('$database_directory$').join(common.database_directory());
if (opts['format']=='json') {
var obj={
temporary_directory:common.temporary_directory(),
package_search_directories:common.package_search_directories(),
prv_search_directories:common.prv_search_directories(),
database_directory:common.database_directory()
};
console.log (JSON.stringify(obj,null,4));
}
else {
console.log (txt);
}
callback(null);
}