MiddleArch/middlearch/config.py

26 lines
694 B
Python

import logging
import os
import os.path as path
import yaml
class Config(object):
def __init__(self, config_dir):
self.dir = path.abspath(config_dir)
with open(path.join(config_dir, "config.yaml")) as file:
self.conf = yaml.load(file, Loader=yaml.SafeLoader)
logging.info(f"{path.join(self.dir, 'config.yaml')} loaded")
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