mirror of https://github.com/cheat/cheat.git
Read env vars for global and local config path
- allows to change these paths for testing purposes and also gives user option to change his config paths
This commit is contained in:
parent
7814de96d2
commit
879a58b721
|
@ -2,9 +2,13 @@ import os
|
|||
from cheat.utils import Utils
|
||||
import json
|
||||
|
||||
|
||||
class Configuration:
|
||||
|
||||
|
||||
def __init__(self):
|
||||
self._get_global_conf_file_path()
|
||||
self._get_local_conf_file_path()
|
||||
self._saved_configuration = self._get_configuration()
|
||||
|
||||
|
||||
|
@ -13,14 +17,14 @@ class Configuration:
|
|||
merged_config = {}
|
||||
|
||||
try:
|
||||
merged_config.update(self._read_configuration_file('/etc/cheat'))
|
||||
except Exception:
|
||||
Utils.warn('error while parsing global configuration')
|
||||
merged_config.update(self._read_configuration_file(self.glob_config_path))
|
||||
except Exception as e:
|
||||
Utils.warn('error while parsing global configuration Reason: ' + e.message)
|
||||
|
||||
try:
|
||||
merged_config.update(self._read_configuration_file(os.path.expanduser(os.path.join('~','.config','cheat','cheat'))))
|
||||
except Exception:
|
||||
Utils.warn('error while parsing user configuration')
|
||||
merged_config.update(self._read_configuration_file(self.local_config_path))
|
||||
except Exception as e:
|
||||
Utils.warn('error while parsing user configuration Reason: ' + e.message)
|
||||
|
||||
merged_config.update(self._read_env_vars_config())
|
||||
|
||||
|
@ -60,6 +64,16 @@ class Configuration:
|
|||
current_config[key] = os.environ.get(key)
|
||||
|
||||
|
||||
def _get_global_conf_file_path(self):
|
||||
self.glob_config_path = os.environ.get('CHEAT_GLOBAL_CONF_PATH') \
|
||||
or '/etc/cheat'
|
||||
|
||||
|
||||
def _get_local_conf_file_path(self):
|
||||
self.local_config_path = os.environ.get('CHEAT_LOCAL_CONF_PATH') \
|
||||
or os.path.expanduser('~/.config/cheat/cheat')
|
||||
|
||||
|
||||
def get_default_cheat_dir(self):
|
||||
return self._saved_configuration.get('DEFAULT_CHEAT_DIR')
|
||||
|
||||
|
|
Loading…
Reference in New Issue