aboutsummaryrefslogtreecommitdiff
path: root/tools/cru-py/cru/config.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/cru-py/cru/config.py')
-rw-r--r--tools/cru-py/cru/config.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/tools/cru-py/cru/config.py b/tools/cru-py/cru/config.py
index bd8eaf9..b71f042 100644
--- a/tools/cru-py/cru/config.py
+++ b/tools/cru-py/cru/config.py
@@ -161,3 +161,18 @@ class Configuration(CruUniqueKeyList[ConfigItem[Any], str]):
return {
item.name: item.value_type.convert_value_to_str(item.value) for item in self
}
+
+ def set_value_dict(
+ self,
+ value_dict: dict[str, Any],
+ *,
+ empty_is_default: bool = True,
+ allow_convert_from_str: bool = True,
+ ) -> None:
+ for name, value in value_dict.items():
+ item = self.get(name)
+ item.set_value(
+ value,
+ empty_is_default=empty_is_default,
+ allow_convert_from_str=allow_convert_from_str,
+ )