From f2cf0d9c1a6403f3ec5c2a701f968a84056dc0dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mose=20M=C3=BCller?= Date: Tue, 5 Mar 2024 13:23:26 +0100 Subject: [PATCH] fixes update of cache when the type has changed When an attribute changes from, say, a quantity to an enumeration, the enum key in the serialization was not added to the cache, and thus the frontend was not able to render the enum. --- src/pydase/utils/serializer.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/pydase/utils/serializer.py b/src/pydase/utils/serializer.py index 669021b..32b30ce 100644 --- a/src/pydase/utils/serializer.py +++ b/src/pydase/utils/serializer.py @@ -269,12 +269,11 @@ def set_nested_value_by_path( # setting the new value serialized_value = dump(value) - if "readonly" in current_dict: - if current_dict["type"] != "method": - current_dict["type"] = serialized_value["type"] - current_dict["value"] = serialized_value["value"] - else: - current_dict.update(serialized_value) + serialized_value.pop("readonly", None) + value_type = serialized_value.pop("type") + if "readonly" in current_dict and current_dict["type"] != "method": + current_dict["type"] = value_type + current_dict.update(serialized_value) def get_nested_dict_by_path(