diff options
Diffstat (limited to 'tools/cru-py/cru/service/_config.py')
-rw-r--r-- | tools/cru-py/cru/service/_config.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/tools/cru-py/cru/service/_config.py b/tools/cru-py/cru/service/_config.py index 6aa6294..cbb9533 100644 --- a/tools/cru-py/cru/service/_config.py +++ b/tools/cru-py/cru/service/_config.py @@ -1,7 +1,7 @@ from collections.abc import Iterable from typing import Any, Literal, overload -from cru import CruException +from cru import CruException, CruNotFound from cru.config import Configuration, ConfigItem from cru.value import ( INTEGER_VALUE_TYPE, @@ -360,14 +360,15 @@ class ConfigManager(AppCommandFeatureProvider): error_entries: list[SimpleLineConfigParser.Entry] = [] errors: list[CruValueTypeError] = [] for key, entry in entry_dict.items(): - config_item = self.configuration.get(key) try: if entry.value == "": value_dict[key] = None else: - value_dict[key] = config_item.value_type.convert_str_to_value( - entry.value - ) + value = entry.value + config_item = self.configuration.get_or(key) + if config_item is not CruNotFound.VALUE: + value = config_item.value_type.convert_str_to_value(value) + value_dict[key] = value except CruValueTypeError as e: error_entries.append(entry) errors.append(e) |