diff --git a/dotdrop/cfg_aggregator.py b/dotdrop/cfg_aggregator.py index 68b076e..fdce64d 100644 --- a/dotdrop/cfg_aggregator.py +++ b/dotdrop/cfg_aggregator.py @@ -42,6 +42,7 @@ class CfgAggregator: self.dry = dry self.log = Logger(debug=self.debug) self._load() + self._validate() ######################################################## # public methods @@ -218,6 +219,12 @@ class CfgAggregator: # parsing ######################################################## + def _validate(self): + """validate fields on top level view of config""" + val = self.settings.workdir + if not val: + raise UndefinedException('\"workdir\" is undefined') + def _load(self, reloading=False): """load lower level config""" self.cfgyaml = CfgYaml(self.path, diff --git a/dotdrop/cfg_yaml.py b/dotdrop/cfg_yaml.py index 1058cca..c418637 100644 --- a/dotdrop/cfg_yaml.py +++ b/dotdrop/cfg_yaml.py @@ -1215,6 +1215,8 @@ class CfgYaml: if not yamldict[self.key_settings]: # configs empty return + + # check settings values settings = yamldict[self.key_settings] if self.key_settings_link_dotfile_default not in settings: return