From 948b0dd5e7d9ff91433b6d633bf48c41bb525443 Mon Sep 17 00:00:00 2001 From: Clemens Schwaighofer Date: Tue, 15 Jul 2025 10:30:09 +0900 Subject: [PATCH] Settings loader add more checks string.domain.with-localhost string.domain.with-localhost.port string.domain string.date --- .../config_handling/settings_loader.py | 6 +++++ .../settings_loader_check.py | 26 +++++++++++++++++++ test-run/config_handling/settings_loader.py | 7 +++++ 3 files changed, 39 insertions(+) diff --git a/src/corelibs/config_handling/settings_loader.py b/src/corelibs/config_handling/settings_loader.py index a1dfed7..bdd81e5 100644 --- a/src/corelibs/config_handling/settings_loader.py +++ b/src/corelibs/config_handling/settings_loader.py @@ -258,6 +258,12 @@ class SettingsLoader: self.__build_from_to_equal(entry, check) ): error = True + # after post clean up if we have empty entries and we are mandatory + if check == "mandatory:yes" and ( + not settings[config_id].get(entry) or settings[config_id].get(entry) == [''] + ): + error = True + self.__print(f"[!] Missing content entry for: {entry}", 'ERROR') if error is True: raise ValueError(self.__print("[!] Missing or incorrect settings data. Cannot proceed", 'CRITICAL')) # set empty diff --git a/src/corelibs/config_handling/settings_loader_handling/settings_loader_check.py b/src/corelibs/config_handling/settings_loader_handling/settings_loader_check.py index ed14959..9ed16f9 100644 --- a/src/corelibs/config_handling/settings_loader_handling/settings_loader_check.py +++ b/src/corelibs/config_handling/settings_loader_handling/settings_loader_check.py @@ -49,6 +49,32 @@ class SettingsLoaderCheck: "regex_clean": None, "replace": "", }, + # Domain check, including localhost no port + "string.domain.with-localhost": { + "regex": r"^(?:localhost|(?!-)[A-Za-z0-9-]{1,63}(? {result}") + # for log testing script_path: Path = Path(__file__).resolve().parent log = Log(