def load_config(path: str, defaults: dict) -> DictObj: """Loads the configuration file and any project files loaded in projects_folder if defined Args: path: full path to config file defaults: dictionary filled with default settings Returns: DictObj filled with settings from config files """ try: settings = Settings(defaults, path, '').get_all() except FileNotFoundError as exception_object: raise FileNotFoundError( "{0!s}: not found".format(path)) from exception_object except IOError as exception_object: raise IOError("{0!s}: not a file".format(path)) from exception_object return DictObj( merge_dictionaries( settings, load_projects_folder( path, settings.get('backup', dict()).get('projects_folder'))))
def test_get(self): t = Settings({'test': 'test'}, '', '') got = t.get('test') self.assertEqual('test', got)