From bb415af4604195562ad0ee7cd9a4898bac62be60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mose=20M=C3=BCller?= Date: Tue, 5 Dec 2023 10:48:30 +0100 Subject: [PATCH] creates deepcopy of cached dict instead of copy, removes warnings for methods --- src/pydase/data_service/data_service_observer.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/pydase/data_service/data_service_observer.py b/src/pydase/data_service/data_service_observer.py index f5a90cc..7d887d3 100644 --- a/src/pydase/data_service/data_service_observer.py +++ b/src/pydase/data_service/data_service_observer.py @@ -1,6 +1,6 @@ import logging from collections.abc import Callable -from copy import copy +from copy import deepcopy from typing import Any from pydase.data_service.state_manager import StateManager @@ -33,7 +33,7 @@ class DataServiceObserver(Observer): if not self.initialised: return - cached_value_dict = copy( + cached_value_dict = deepcopy( self.state_manager._data_service_cache.get_value_dict_from_cache( full_access_path ) @@ -55,7 +55,10 @@ class DataServiceObserver(Observer): ) -> None: value_dict = dump(value) if cached_value_dict != {}: - if cached_value_dict["type"] != value_dict["type"]: + if ( + cached_value_dict["type"] != "method" + and cached_value_dict["type"] != value_dict["type"] + ): logger.warning( "Type of '%s' changed from '%s' to '%s'. This could have unwanted " "side effects! Consider setting it to '%s' directly.",