forked from indymedia/epicyon
45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
|
__filename__ = "config.py"
|
||
|
__author__ = "Bob Mottram"
|
||
|
__license__ = "AGPL3+"
|
||
|
__version__ = "0.0.1"
|
||
|
__maintainer__ = "Bob Mottram"
|
||
|
__email__ = "bob@freedombone.net"
|
||
|
__status__ = "Production"
|
||
|
|
||
|
import os
|
||
|
import json
|
||
|
import commentjson
|
||
|
|
||
|
def createConfig(baseDir: str) -> None:
|
||
|
"""Creates a configuration file
|
||
|
"""
|
||
|
configFilename=baseDir+'/config.json'
|
||
|
if os.path.isfile(configFilename):
|
||
|
return
|
||
|
configJson = {
|
||
|
}
|
||
|
with open(configFilename, 'w') as fp:
|
||
|
commentjson.dump(configJson, fp, indent=4, sort_keys=True)
|
||
|
|
||
|
def setConfigParam(baseDir: str, variableName: str, variableValue) -> None:
|
||
|
"""Sets a configuration value
|
||
|
"""
|
||
|
createConfig(baseDir)
|
||
|
configFilename=baseDir+'/config.json'
|
||
|
with open(configFilename, 'r') as fp:
|
||
|
configJson=commentjson.load(fp)
|
||
|
configJson[variableName]=variableValue
|
||
|
with open(configFilename, 'w') as fp:
|
||
|
commentjson.dump(configJson, fp, indent=4, sort_keys=True)
|
||
|
|
||
|
def getConfigParam(baseDir: str, variableName: str):
|
||
|
"""Gets a configuration value
|
||
|
"""
|
||
|
createConfig(baseDir)
|
||
|
configFilename=baseDir+'/config.json'
|
||
|
with open(configFilename, 'r') as fp:
|
||
|
configJson=commentjson.load(fp)
|
||
|
if configJson.get(variableName):
|
||
|
return configJson[variableName]
|
||
|
return None
|