0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-13 19:21:50 +02:00

fix(waveform, rpc_reference): __getitem__ removed form waveform and rpc_reference

This commit is contained in:
2025-04-10 16:11:07 +02:00
parent 5f272a66a4
commit 3a82c95f60
3 changed files with 6 additions and 17 deletions

View File

@ -3161,12 +3161,6 @@ class Waveform(RPCBase):
The font size of the legend font.
"""
@rpc_call
def __getitem__(self, key: "int | str"):
"""
None
"""
@property
@rpc_call
def curves(self) -> "list[Curve]":

View File

@ -93,21 +93,17 @@ class RPCReference:
@check_for_deleted_widget
def __getattr__(self, name):
if name in ["_registry", "_gui_id", "_is_deleted", "_name", "object_name"]:
if name in ["_registry", "_gui_id", "_is_deleted", "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"]:
if name in ["_registry", "_gui_id", "_is_deleted", "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)
def __repr__(self):
if self._gui_id not in self._registry:
return f"<Deleted widget with gui_id {self._gui_id}>"
@ -175,7 +171,7 @@ class RPCBase:
parent = parent._parent
return parent # type: ignore
def _run_rpc(self, method, *args, wait_for_rpc_response=True, timeout=300, **kwargs) -> Any:
def _run_rpc(self, method, *args, wait_for_rpc_response=True, timeout=5, **kwargs) -> Any:
"""
Run the RPC call.

View File

@ -82,7 +82,6 @@ class Waveform(PlotBase):
"legend_label_size",
"legend_label_size.setter",
# Waveform Specific RPC Access
"__getitem__",
"curves",
"x_mode",
"x_mode.setter",
@ -191,9 +190,6 @@ class Waveform(PlotBase):
action.triggered.connect(self._reset_view)
break
def __getitem__(self, key: int | str):
return self.get_curve(key)
################################################################################
# Widget Specific GUI interactions
################################################################################
@ -1608,6 +1604,9 @@ class Waveform(PlotBase):
if scan_index == -1:
scan_item = self.client.queue.scan_storage.current_scan
if scan_item is not None:
if scan_item.status_message is None:
logger.warning(f"Scan item with {scan_item.scan_id} has no status message.")
return
self.scan_item = scan_item
self.scan_id = scan_item.scan_id
self._emit_signal_update()