From 388baae9f117120f4f3db29e0c0db03cbb78b54c Mon Sep 17 00:00:00 2001 From: wakonig_k Date: Mon, 26 Feb 2024 19:21:58 +0100 Subject: [PATCH] fix(bec_lib): exclude disabled devices in device filters --- bec_lib/bec_lib/devicemanager.py | 2 +- bec_lib/tests/test_device_manager.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/bec_lib/bec_lib/devicemanager.py b/bec_lib/bec_lib/devicemanager.py index eec3386b..51100c18 100644 --- a/bec_lib/bec_lib/devicemanager.py +++ b/bec_lib/bec_lib/devicemanager.py @@ -115,7 +115,7 @@ class DeviceContainer(dict): excluded_readout_priority = [ str(x.name).lower() for x in ReadoutPriority if x != readout_priority ] - excluded_devices = [] + excluded_devices = self.disabled_devices for priority in excluded_readout_priority: excluded_devices.extend(self.get(dev) for dev in readout_priority_mod.get(priority, [])) diff --git a/bec_lib/tests/test_device_manager.py b/bec_lib/tests/test_device_manager.py index 16408b27..12ff9e52 100644 --- a/bec_lib/tests/test_device_manager.py +++ b/bec_lib/tests/test_device_manager.py @@ -318,3 +318,9 @@ def test_device_config_update_callback(dm_with_devices): with mock.patch.object(dm, "parse_config_message") as parse_config_message: dm._device_config_update_callback(msg, parent=dm) parse_config_message.assert_called_once_with(dev_config_msg) + + +def test_disabled_device_not_in_monitored(dm_with_devices): + assert "motor1_disabled" in dm_with_devices.devices + monitored_devices = dm_with_devices.devices.monitored_devices() + assert "motor1_disabled" not in [dev.name for dev in monitored_devices]