From bd7a46ddc1d8ba3a681d6d35c23c682d061d0828 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mose=20M=C3=BCller?= Date: Tue, 20 Feb 2024 12:26:43 +0100 Subject: [PATCH] changes are only registered if the containing object is not being changed as a whole --- src/pydase/data_service/data_service_observer.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/pydase/data_service/data_service_observer.py b/src/pydase/data_service/data_service_observer.py index afcdc2b..aeabfef 100644 --- a/src/pydase/data_service/data_service_observer.py +++ b/src/pydase/data_service/data_service_observer.py @@ -23,6 +23,13 @@ class DataServiceObserver(PropertyObserver): super().__init__(state_manager.service) def on_change(self, full_access_path: str, value: Any) -> None: + if any( + full_access_path.startswith(changing_attribute) + and full_access_path != changing_attribute + for changing_attribute in self.changing_attributes + ): + return + cached_value_dict = deepcopy( self.state_manager._data_service_cache.get_value_dict_from_cache( full_access_path