def get_beard_config(config_file="../../config.yml"):
"""Attempts to load a yaml file in the beard directory.
NOTE: The file location should be relative from where this function is
called.
"""
# Sometimes external libraries change the logging level. This is not
# acceptable, so we assert after importing a beard that it has not changed.
logger_level_before = logger.getEffectiveLevel()
logging.debug("logging level: {}".format(logger.getEffectiveLevel()))
callers_frame = inspect.currentframe().f_back
logger.debug("This function was called from the file: " +
callers_frame.f_code.co_filename)
base_path = os.path.dirname(callers_frame.f_code.co_filename)
config = yaml.safe_load(open(os.path.join(base_path, config_file)))
logging.debug("logging level: {}".format(logger.getEffectiveLevel()))
logger_level_after = logger.getEffectiveLevel()
assert logger_level_before == logger_level_after, \
"Something has changed the logger level!"
return config
评论列表
文章目录