aboutsummaryrefslogtreecommitdiffstats
path: root/config.py
diff options
context:
space:
mode:
authorMartin/Geno <geno+dev@fireorbit.de>2020-03-07 11:06:17 +0100
committerMartin/Geno <geno+dev@fireorbit.de>2020-03-07 11:06:17 +0100
commit1a3782ce974cdee6a6f3ab4deb2dffd4dd7b7bef (patch)
treef75e0c3bb45d4e172e1a4128fc34f3954e7ec46f /config.py
parentc8d88a537d3afdc10618e92ea63dc353a3250058 (diff)
parentd82744488951d55d5e5a95b41136a5719d8c5534 (diff)
Merge branch 'yaml' into 'master'
yaml config See merge request sum7/ejabberd-metrics!4
Diffstat (limited to 'config.py')
-rw-r--r--config.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/config.py b/config.py
index da20e66..20793e8 100644
--- a/config.py
+++ b/config.py
@@ -1,20 +1,23 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
-import json
import sys
from os import environ
from pathlib import Path
+from ruamel.yaml import YAML
+from ruamel.yaml.parser import ParserError
+from ruamel.yaml.scanner import ScannerError
+
class Config:
def __init__(self):
# class variables
self.content = None
- self.conf_file = Path('/etc/ejabberd-metrics.conf')
+ self.conf_file = Path('/etc/ejabberd-metrics.yml')
# dev config overwrite
if environ.get('ejabberd_metrics_dev'):
- self.conf_file = Path('config.json')
+ self.conf_file = Path('config.yml')
# read config file
self._read()
@@ -23,13 +26,13 @@ class Config:
"""init the config object with this method"""
self._check()
- # open and load json content from config
+ # open file as an iostream
with open(self.conf_file, 'r', encoding='utf-8') as f:
try:
- self.content = json.load(f)
+ self.content = YAML(typ='safe').load(f)
# catch json decoding errors
- except json.JSONDecodeError as err:
+ except (ParserError, ScannerError) as err:
print(err, file=sys.stderr)
exit(1)