2022-01-12 21:46:59 +01:00
|
|
|
import logging, os, yaml
|
2021-08-31 00:11:27 +02:00
|
|
|
import os.path as path
|
|
|
|
|
|
|
|
|
|
|
|
class Config(object):
|
|
|
|
def __init__(self, config_dir):
|
2022-01-12 01:07:56 +01:00
|
|
|
self.dir = path.abspath(config_dir)
|
|
|
|
|
2021-08-31 00:11:27 +02:00
|
|
|
with open(path.join(config_dir, "config.yaml")) as file:
|
|
|
|
self.conf = yaml.load(file, Loader=yaml.SafeLoader)
|
2022-01-12 01:07:56 +01:00
|
|
|
logging.info(f"{path.join(self.dir, 'config.yaml')} loaded")
|
|
|
|
|
2021-08-31 00:11:27 +02:00
|
|
|
logging.debug('configuration:\n'+yaml.dump(self.conf))
|
|
|
|
|
|
|
|
def get(self, key, default=None):
|
|
|
|
v = self.conf
|
|
|
|
for k in key.split("."):
|
|
|
|
try:
|
|
|
|
v = v[k]
|
|
|
|
except KeyError:
|
|
|
|
logging.debug(f"{key} not found")
|
|
|
|
return default
|
|
|
|
return v
|