From 6bfc8999f74e23f11dc84617c3a2e6f31b290873 Mon Sep 17 00:00:00 2001 From: appel_c Date: Thu, 18 Sep 2025 07:14:39 +0200 Subject: [PATCH 1/2] refactor: fix set_exception for AndStatusWithList --- debye_bec/devices/pilatus/utils.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/debye_bec/devices/pilatus/utils.py b/debye_bec/devices/pilatus/utils.py index d3f3de3..23272d6 100644 --- a/debye_bec/devices/pilatus/utils.py +++ b/debye_bec/devices/pilatus/utils.py @@ -65,15 +65,20 @@ class AndStatusWithList(DeviceStatus): return False - # TODO Check if this actually works.... - def set_exception(self, exc): - super().set_exception(exc) - # Propagate the exception to all sub-statuses that are not done yet. - with self._lock: - for st in self.all_statuses: - with st._lock: - if not st.done: - st.set_exception(exc) + # # TODO Check if this actually works.... + # def set_exception(self, exc): + # # Propagate the exception to all sub-statuses that are not done yet. + # + # with self._lock: + # if self._externally_initiated_completion: + # return + # if self.done: # Return if status is already done.. It must be resolved already + # return + # super().set_exception(exc) + # for st in self.all_statuses: + # with st._lock: + # if not st.done: + # st.set_exception(exc) def _run_callbacks(self): """ -- 2.49.1 From 6a8f6c79888460aa1badf6598ac14aa8cd0cba53 Mon Sep 17 00:00:00 2001 From: appel_c Date: Thu, 18 Sep 2025 07:17:48 +0200 Subject: [PATCH 2/2] fix: remove enums from typehints --- .../devices/ionization_chambers/ionization_chamber.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/debye_bec/devices/ionization_chambers/ionization_chamber.py b/debye_bec/devices/ionization_chambers/ionization_chamber.py index 276f9b3..a829560 100644 --- a/debye_bec/devices/ionization_chambers/ionization_chamber.py +++ b/debye_bec/devices/ionization_chambers/ionization_chamber.py @@ -105,7 +105,7 @@ class IonizationChamber0(PSIDeviceBase): super().__init__(name=name, prefix=prefix, scan_info=scan_info, **kwargs) @typechecked - def set_gain(self, gain: Literal["1e6", "1e7", "5e7", "1e8", "1e9"] | AmplifierGain) -> None: + def set_gain(self, gain: Literal["1e6", "1e7", "5e7", "1e8", "1e9"]) -> None: """Configure the gain setting of the specified channel Args: @@ -131,10 +131,7 @@ class IonizationChamber0(PSIDeviceBase): self.amp.cGain_ENUM.put(AmplifierGain.G1E9) def set_filter( - self, - value: ( - Literal["1us", "3us", "10us", "30us", "100us", "300us", "1ms", "3ms"] | AmplifierFilter - ), + self, value: Literal["1us", "3us", "10us", "30us", "100us", "300us", "1ms", "3ms"] ) -> None: """Configure the filter setting of the specified channel -- 2.49.1