diff --git a/src/corelibs/config_handling/settings_loader.py b/src/corelibs/config_handling/settings_loader.py index 856b46e..d8194c5 100644 --- a/src/corelibs/config_handling/settings_loader.py +++ b/src/corelibs/config_handling/settings_loader.py @@ -94,6 +94,13 @@ class SettingsLoader: try: # load all data as is, validation is done afterwards settings[config_id] = dict(self.config_parser[config_id]) + except KeyError as e: + self.__print( + f"[!] Cannot read [{config_id}] block in the {self.config_file}: {e}", + 'CRITICAL', raise_exception=True + ) + sys.exit(1) + try: for key, checks in config_validate.items(): skip = True split_char = self.DEFAULT_ELEMENT_SPLIT_CHAR @@ -145,7 +152,7 @@ class SettingsLoader: ] except KeyError as e: self.__print( - f"[!] Cannot read [{config_id}] block in the {self.config_file}: {e}", + f"[!] Cannot read [{config_id}] block because the entry [{e}] could not be found", 'CRITICAL', raise_exception=True ) sys.exit(1) diff --git a/test-run/config_handling/settings_loader.py b/test-run/config_handling/settings_loader.py index 03a9879..d53c572 100644 --- a/test-run/config_handling/settings_loader.py +++ b/test-run/config_handling/settings_loader.py @@ -42,6 +42,7 @@ def main(): config_data = sl.load_settings( config_load, { + # "doesnt": ["split:,"], "foo": ["mandatory:yes"], "foobar": ["check:int"], "bar": ["mandatory:yes"], diff --git a/uv.lock b/uv.lock index 6eca2e6..f47e133 100644 --- a/uv.lock +++ b/uv.lock @@ -44,7 +44,7 @@ wheels = [ [[package]] name = "corelibs" -version = "0.12.1" +version = "0.12.2" source = { editable = "." } dependencies = [ { name = "jmespath" },