From 648ab001b6563443c86eb4959f1592c1a8543b63 Mon Sep 17 00:00:00 2001 From: Clemens Schwaighofer Date: Mon, 14 Jul 2025 17:00:25 +0900 Subject: [PATCH] Settings loader fix for not set range check entries If we have a range or length check and the value is not set, skip, and do not convert either Not set is None --- src/corelibs/config_handling/settings_loader.py | 3 +++ test-run/config_handling/config/settings.ini | 1 + test-run/config_handling/settings_loader.py | 3 +++ 3 files changed, 7 insertions(+) diff --git a/src/corelibs/config_handling/settings_loader.py b/src/corelibs/config_handling/settings_loader.py index d8194c5..f6c0b36 100644 --- a/src/corelibs/config_handling/settings_loader.py +++ b/src/corelibs/config_handling/settings_loader.py @@ -331,6 +331,9 @@ class SettingsLoader: (__from, __to, __equal) = check valid = True for value_raw in convert_to_list(values): + # skip no tset values for range check + if not value_raw: + continue value = 0 error_mark = '' if check_type == 'length': diff --git a/test-run/config_handling/config/settings.ini b/test-run/config_handling/config/settings.ini index 63d97f1..88897b8 100644 --- a/test-run/config_handling/config/settings.ini +++ b/test-run/config_handling/config/settings.ini @@ -9,6 +9,7 @@ other_list=a|b|c|d| third_list=xy|ab|df|fg str_length=foobar int_range=20 +int_range_not_set= # match_target=foo match_target_list=foo,bar,baz diff --git a/test-run/config_handling/settings_loader.py b/test-run/config_handling/settings_loader.py index d53c572..422fdfa 100644 --- a/test-run/config_handling/settings_loader.py +++ b/test-run/config_handling/settings_loader.py @@ -63,6 +63,9 @@ def main(): "int_range": [ "range:2-50" ], + "int_range_not_set": [ + "range:2-50" + ], "match_target": ["matching:foo"], "match_target_list": ["split:,", "matching:foo|bar|baz",], "match_source_a": ["in:match_target"],