changed path for main source code backend

This commit is contained in:
shockrah
2021-01-01 19:06:51 -08:00
parent 12e9c07d60
commit 1010f0f2e8

View File

@@ -0,0 +1,41 @@
const { ArgumentParser } = require('argparse')
const fs = require('fs')
/**
* @param {ArgumentParset} parser
* @returns {Config} { path }
*/
function get_config(parser) {
const a = parser.parse_args()
const defaultcfg = `${process.env.HOME || process.env.USERPROFILE}/.config/freechat/config.json`
// we'll just assume that the config is there as per the installation process
const path = (a['config']) ? a['config'] : defaultcfg
const file_contents = fs.readFileSync(path)
const file_json = JSON.parse(file_contents)
// now we'll just blindly construct the config object from here on out
let ret = { path: path }
for(const key in file_json.keys) {
if(key == 'path') { continue } // don't overwrite the old path
else {
ret[key] = file_json[key]
}
}
return ret
}
/**
* Loads the parse with the various arguments that the program takes
* @param {ArgumentParser} parser
*/
function load_parser() {
const parser = new ArgumentParser({
description: 'Freechat Electron Client'
})
parser.add_argument('-c', '--config', {help: 'Specify config path'})
return parser
}
exports.load_parser = load_parser
exports.get_config = get_config