From a83e0c6c7f6d38f28e2bf2bedb3774f0e502aab7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mose=20M=C3=BCller?= Date: Thu, 16 Nov 2023 09:42:41 +0100 Subject: [PATCH] only update type value in serialized dict if its not a method --- src/pydase/server/server.py | 7 ++++++- src/pydase/utils/serializer.py | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/pydase/server/server.py b/src/pydase/server/server.py index 7046603..924ebd2 100644 --- a/src/pydase/server/server.py +++ b/src/pydase/server/server.py @@ -311,8 +311,13 @@ class Server: get_nested_dict_by_path(self._state_manager.cache, full_access_path) ) serialized_value = dump(value) + + if cached_value_dict["type"] != "method": + cached_value_dict["type"] = serialized_value["type"] + else: + logger.debug("Got method") + cached_value_dict["value"] = serialized_value["value"] - cached_value_dict["type"] = serialized_value["type"] async def notify() -> None: try: diff --git a/src/pydase/utils/serializer.py b/src/pydase/utils/serializer.py index ece26c4..d217718 100644 --- a/src/pydase/utils/serializer.py +++ b/src/pydase/utils/serializer.py @@ -259,8 +259,9 @@ 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"] - current_dict["type"] = serialized_value["type"] else: current_dict.update(serialized_value)