mirror of
https://github.com/tiqi-group/pydase.git
synced 2025-04-24 01:50:03 +02:00
updates property dependencies when changing to an observable object
This commit is contained in:
parent
4bd0092fbf
commit
3169531a24
@ -4,6 +4,7 @@ from copy import deepcopy
|
||||
from typing import Any
|
||||
|
||||
from pydase.data_service.state_manager import StateManager
|
||||
from pydase.observer_pattern.observable.observable_object import ObservableObject
|
||||
from pydase.observer_pattern.observer.property_observer import (
|
||||
PropertyObserver,
|
||||
)
|
||||
@ -37,6 +38,9 @@ class DataServiceObserver(PropertyObserver):
|
||||
for callback in self._notification_callbacks:
|
||||
callback(full_access_path, value, cached_value_dict)
|
||||
|
||||
if isinstance(value, ObservableObject):
|
||||
self._update_property_deps_dict()
|
||||
|
||||
self._notify_dependent_property_changes(full_access_path)
|
||||
|
||||
def _update_cache_value(
|
||||
|
@ -29,6 +29,9 @@ def get_property_dependencies(prop: property, prefix: str = "") -> list[str]:
|
||||
class PropertyObserver(Observer):
|
||||
def __init__(self, observable: Observable) -> None:
|
||||
super().__init__(observable)
|
||||
self._update_property_deps_dict()
|
||||
|
||||
def _update_property_deps_dict(self) -> None:
|
||||
self.property_deps_dict = reverse_dict(
|
||||
self._get_properties_and_their_dependencies(self.observable)
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user