Source code for neurokin.utils.helper.load_config

import yaml


# TESTME with config file
[docs] def read_config(path, converts_keys_to_string=False): """ Reads structured config file defining a project. :param path: path to config :param converts_keys_to_string: :return: dict from a yaml file """ try: with open(path, "r") as ymlfile: cfg = yaml.load(ymlfile, Loader=yaml.SafeLoader) except FileNotFoundError: raise FileNotFoundError( "Could not find the config file at " + path + " \n Please make sure the path is correct and the file exists") if converts_keys_to_string: keys2string(cfg) return cfg
[docs] def keys2string(d): """ Convert all keys in strings (helpful if dates are keys). Reference: https://stackoverflow.com/questions/62198378/numeric-keys-in-yaml-files :param d: dictionary to convert the keys of :return: converted dictionary """ if isinstance(d, dict): for idx, k in enumerate(list(d.keys())): if not isinstance(k, str): sk = str(k) d[sk] = d.pop(k) k = sk keys2string(d[k]) elif isinstance(d, list): for e in d: keys2string(e)