From 2dc0227d38f0e217e252a5e5751bafd60363a5a4 Mon Sep 17 00:00:00 2001 From: wakonig_k Date: Tue, 19 May 2026 12:54:39 +0200 Subject: [PATCH] fix(scan-control): filter out private scans from allowed scans --- .../widgets/control/scan_control/scan_control.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/bec_widgets/widgets/control/scan_control/scan_control.py b/bec_widgets/widgets/control/scan_control/scan_control.py index f277dd32..37ea2440 100644 --- a/bec_widgets/widgets/control/scan_control/scan_control.py +++ b/bec_widgets/widgets/control/scan_control/scan_control.py @@ -186,12 +186,16 @@ class ScanControl(BECWidget, QWidget): ).resource if self.config.allowed_scans is None: supported_scans = ["ScanBase", "SyncFlyScanBase", "AsyncFlyScanBase", "ScanBaseV4"] - allowed_scans = [ - scan_name - for scan_name, scan_info in self.available_scans.items() - if scan_info["base_class"] in supported_scans - and self._scan_info_adapter.has_scan_ui_config(scan_info) - ] + + def _is_scan_supported(scan_name): + scan_info = self.available_scans[scan_name] + return ( + scan_info.get("base_class") in supported_scans + and self._scan_info_adapter.has_scan_ui_config(scan_info) + and not scan_name.startswith("_") + ) + + allowed_scans = filter(_is_scan_supported, self.available_scans.keys()) else: allowed_scans = self.config.allowed_scans