def load_file(self, file: str): """ Loads the configuration from the configuration YAML file. :param file: path to the file :raises: SettingsError if the settings file is incorrect or doesn't exist """ self.prefs = self.type_scheme.get_default() tmp = copy.deepcopy(self.prefs) try: with open(file, 'r') as stream: map = yaml.safe_load(stream.read().replace( "!!python/tuple", "")) def func(key, path, value): if value is not None or self.get_type_scheme(path).check( value): self._set_default(path, value) self._set(path, value) recursive_exec_for_leafs(map, func) except (yaml.YAMLError, IOError) as err: self.prefs = tmp raise SettingsError(str(err)) res = self._validate_settings_dict( self.prefs, "settings with ones from file '{}'".format(file)) if not res: self.prefs = tmp raise SettingsError(str(res)) self._setup()
def load_file(self, file: str): """ Loads the configuration from the configuration YAML file. :param file: path to the file :raises: SettingsError if the settings file is incorrect or doesn't exist """ self.prefs = self.type_scheme.get_default() tmp = copy.deepcopy(self.prefs) try: with open(file, 'r') as stream: map = yaml.load(stream) def func(key, path, value): self._set_default(path, value) recursive_exec_for_leafs(map, func) except (yaml.YAMLError, IOError) as err: self.prefs = tmp raise SettingsError(str(err)) res = self._validate_settings_dict(self.prefs, "settings with ones from file '{}'".format(file)) if not res: self.prefs = tmp raise SettingsError(str(res)) self._setup()
def load_from_dict(self, config_dict: t.Dict[str, t.Any]): """ Load the configuration from the passed dictionary. :param config_dict: passed configuration dictionary """ self.prefs = self.type_scheme.get_default() tmp = copy.deepcopy(self.prefs) def func(key, path, value): self._set_default(path, value) recursive_exec_for_leafs(config_dict, func) res = self._validate_settings_dict(self.prefs, "settings with ones config dict") if not res: self.prefs = tmp raise SettingsError(str(res)) self._setup()