mirror of
https://github.com/tiqi-group/pydase.git
synced 2025-04-23 17:40:02 +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 typing import Any
|
||||||
|
|
||||||
from pydase.data_service.state_manager import StateManager
|
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 (
|
from pydase.observer_pattern.observer.property_observer import (
|
||||||
PropertyObserver,
|
PropertyObserver,
|
||||||
)
|
)
|
||||||
@ -37,6 +38,9 @@ class DataServiceObserver(PropertyObserver):
|
|||||||
for callback in self._notification_callbacks:
|
for callback in self._notification_callbacks:
|
||||||
callback(full_access_path, value, cached_value_dict)
|
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)
|
self._notify_dependent_property_changes(full_access_path)
|
||||||
|
|
||||||
def _update_cache_value(
|
def _update_cache_value(
|
||||||
|
@ -29,6 +29,9 @@ def get_property_dependencies(prop: property, prefix: str = "") -> list[str]:
|
|||||||
class PropertyObserver(Observer):
|
class PropertyObserver(Observer):
|
||||||
def __init__(self, observable: Observable) -> None:
|
def __init__(self, observable: Observable) -> None:
|
||||||
super().__init__(observable)
|
super().__init__(observable)
|
||||||
|
self._update_property_deps_dict()
|
||||||
|
|
||||||
|
def _update_property_deps_dict(self) -> None:
|
||||||
self.property_deps_dict = reverse_dict(
|
self.property_deps_dict = reverse_dict(
|
||||||
self._get_properties_and_their_dependencies(self.observable)
|
self._get_properties_and_their_dependencies(self.observable)
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user