From a2128ad8d688995551c5e26974396fd0588b6804 Mon Sep 17 00:00:00 2001 From: wyzula-jan Date: Wed, 9 Apr 2025 00:40:44 +0200 Subject: [PATCH] fix(RPCReference): setattr added --- bec_widgets/cli/rpc/rpc_base.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bec_widgets/cli/rpc/rpc_base.py b/bec_widgets/cli/rpc/rpc_base.py index 3f5facdc..3424c806 100644 --- a/bec_widgets/cli/rpc/rpc_base.py +++ b/bec_widgets/cli/rpc/rpc_base.py @@ -95,10 +95,17 @@ class RPCReference: @check_for_deleted_widget def __getattr__(self, name): - if name in ["_registry", "_gui_id", "_is_deleted", "_name"]: + if name in ["_registry", "_gui_id", "_is_deleted", "_name", "object_name"]: return super().__getattribute__(name) return self._registry[self._gui_id].__getattribute__(name) + def __setattr__(self, name, value): + if name in ["_registry", "_gui_id", "_is_deleted", "_name", "object_name"]: + return super().__setattr__(name, value) + if self._gui_id not in self._registry: + raise DeletedWidgetError(f"Widget with gui_id {self._gui_id} has been deleted") + self._registry[self._gui_id].__setattr__(name, value) + @check_for_deleted_widget def __getitem__(self, key): return self._registry[self._gui_id].__getitem__(key)