Open mosmuell opened 10 months ago
While the code still does not work, the error message has changed due to code base changes:
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/home/mose/work/repositories/pydase/foo.py", line 22, in <module>
service = MyService()
^^^^^^^^^^^
File "/home/mose/work/repositories/pydase/foo.py", line 18, in __init__
self.child = OtherService(self)
^^^^^^^^^^
File "/home/mose/work/repositories/pydase/src/pydase/data_service/data_service.py", line 77, in __setattr__
super().__setattr__(__name, __value)
File "/home/mose/work/repositories/pydase/src/pydase/observer_pattern/observable/observable.py", line 33, in __setattr__
value = self._handle_observable_setattr(name, value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/mose/work/repositories/pydase/src/pydase/observer_pattern/observable/observable.py", line 56, in _handle_observable_setattr
self._notify_change_start(name)
File "/home/mose/work/repositories/pydase/src/pydase/observer_pattern/observable/observable_object.py", line 82, in _notify_change_start
observer._notify_change_start(extended_attr_path)
File "/home/mose/work/repositories/pydase/src/pydase/observer_pattern/observable/observable_object.py", line 82, in _notify_change_start
observer._notify_change_start(extended_attr_path)
File "/home/mose/work/repositories/pydase/src/pydase/observer_pattern/observable/observable_object.py", line 82, in _notify_change_start
observer._notify_change_start(extended_attr_path)
[Previous line repeated 986 more times]
File "/home/mose/work/repositories/pydase/src/pydase/observer_pattern/observable/observable_object.py", line 77, in _notify_change_start
for attr_name, observer_list in self._observers.items():
^^^^^^^^^^^^^^^
File "/home/mose/work/repositories/pydase/src/pydase/observer_pattern/observable/observable.py", line 40, in __getattribute__
if is_property_attribute(self, name):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RecursionError: maximum recursion depth exceeded
Passing the parent to a child DataService does not work with the current implementation (and probably shouldn't). When registering callbacks, this will produce a recursive loop. At the moment, it just does not work as some assumptions are not fulfilled.
This results in the following error message:
When changing the helper function code to
I get another error:
Passing the "parent" instance to the "children" should not be done. Maybe I can throw an exception, explaining this.