diff --git a/config.py b/config.py index 55b7639..da20e66 100644 --- a/config.py +++ b/config.py @@ -2,15 +2,19 @@ # -*- coding: utf-8 -*- import json import sys +from os import environ from pathlib import Path class Config: def __init__(self): - # global config path - conf_path = '/etc/ejabberd-metrics.conf' - self.file = Path(conf_path) + # class variables self.content = None + self.conf_file = Path('/etc/ejabberd-metrics.conf') + + # dev config overwrite + if environ.get('ejabberd_metrics_dev'): + self.conf_file = Path('config.json') # read config file self._read() @@ -20,7 +24,7 @@ class Config: self._check() # open and load json content from config - with open(self.file, 'r', encoding='utf-8') as f: + with open(self.conf_file, 'r', encoding='utf-8') as f: try: self.content = json.load(f) @@ -32,13 +36,13 @@ class Config: def _check(self): """internal method to check if the config file exists""" try: - # if file is present try to read it's contents - if self.file.exists(): + # if file is present continue + if self.conf_file.exists(): return # if not create a blank file else: - Path.touch(self.file) + self.conf_file.touch(mode=0o640) # catch permission exceptions as this tries to write to /etc/ except PermissionError as err: diff --git a/config_example.json b/ejabberd-metrics.conf.default similarity index 100% rename from config_example.json rename to ejabberd-metrics.conf.default