diff options
author | nico <nico@magicbroccoli.de> | 2020-02-17 02:05:33 +0100 |
---|---|---|
committer | nico <nico@magicbroccoli.de> | 2020-02-17 02:05:44 +0100 |
commit | cf0357197e27d9cb4bf5039606c4b255e1943f46 (patch) | |
tree | 8eb9f9d15fd0dbeaaccde3b42f1bd6df4aca3f8f | |
parent | 89176536adad6e16de10f16cc56826814a90d02e (diff) |
config file location overwrite
+ add environment toggle to overwrite the config directory
setting ejabberd_metrics_dev to 1 / true -> set the config path inside the dev directory
-rw-r--r-- | config.py | 18 | ||||
-rw-r--r-- | ejabberd-metrics.conf.default (renamed from config_example.json) | 0 |
2 files changed, 11 insertions, 7 deletions
@@ -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 index ad984aa..ad984aa 100644 --- a/config_example.json +++ b/ejabberd-metrics.conf.default |