Index: leahi_dialin/dd/modules/events.py =================================================================== diff -u -r3c2bc6419b5796c03a7e4943938055c4ac36c24b -rdf5b27e25042247194634b6ebaf440e051e5fd91 --- leahi_dialin/dd/modules/events.py (.../events.py) (revision 3c2bc6419b5796c03a7e4943938055c4ac36c24b) +++ leahi_dialin/dd/modules/events.py (.../events.py) (revision df5b27e25042247194634b6ebaf440e051e5fd91) @@ -19,7 +19,7 @@ from logging import Logger from datetime import datetime import time -from typing import Tuple +from typing import Tuple, Union # Project imports from leahi_dialin.common import dd_enum_repository @@ -78,7 +78,6 @@ # Dictionary of the sub-mode as key and the state enum class as the value self._sub_mode_2_states = { dd_enum_repository.DDFaultStates.DD_FAULT_STATE_START.name: dd_enum_repository.DDFaultNVDataStates, - dd_enum_repository.DDStandbyStates.DD_STANDBY_MODE_STATE_IDLE.name: dd_enum_repository.DDStanDisinfectStates, dd_enum_repository.DDPreGenDialysateStates.DD_PRE_GEN_WET_SELF_TEST.name: dd_enum_repository.DDPreGenWetSelfTestStates } # Dictionary of the state as key and the sub-state enum class as the value @@ -326,25 +325,34 @@ self.event_op_mode_timestamp = timestamp - def _operation_status_match(self, op_mode: int, sub_mode: int=None, state:int=None, sub_state: int=None) -> Tuple[DialinEnum, DialinEnum, DialinEnum, DialinEnum]: + def _operation_status_match(self, op_mode: int, sub_mode: int=None, state:int=None, sub_state: int=None) -> Tuple[DialinEnum, Union[DialinEnum, int], Union[DialinEnum, int], Union[DialinEnum, int]]: """ Convert operation status values to enums. :param op_mode: (Integer) The operation mode value :param sub_mode: (Integer) The operation sub mode value :param state: (Integer) The operation state value :param sub_state: (Integer) The operation sub state value - :return: Returns the DialinEnum for each provied mode/state + :return: Returns the DialinEnum for each provied mode/state, or the original integer value if no enum is found """ - op_mode_enum = dd_enum_repository.TDOpModes(op_mode) + op_mode_enum = dd_enum_repository.DDOpModes(op_mode) sub_mode_enum = None state_enum = None sub_state_enum = None if sub_mode is not None: - sub_mode_enum = self._op_mode_2_sub_mode[op_mode_enum.name](sub_mode) + if op_mode_enum.name not in self._op_mode_2_sub_mode: + sub_mode_enum = sub_mode + else: + sub_mode_enum = self._op_mode_2_sub_mode[op_mode_enum.name](sub_mode) if state is not None: - state_enum = self._sub_mode_2_states[sub_mode_enum.name](state) + if sub_mode_enum.name not in self._sub_mode_2_states: + state_enum = state + else: + state_enum = self._sub_mode_2_states[sub_mode_enum.name](state) if sub_state is not None: - sub_state_enum = self._state_2_sub_states[state_enum.name](sub_state) + if state_enum.name not in self._state_2_sub_states: + sub_state_enum = sub_state + else: + sub_state_enum = self._state_2_sub_states[state_enum.name](sub_state) return op_mode_enum, sub_mode_enum, state_enum, sub_state_enum Index: leahi_dialin/fp/modules/events.py =================================================================== diff -u -r3c2bc6419b5796c03a7e4943938055c4ac36c24b -rdf5b27e25042247194634b6ebaf440e051e5fd91 --- leahi_dialin/fp/modules/events.py (.../events.py) (revision 3c2bc6419b5796c03a7e4943938055c4ac36c24b) +++ leahi_dialin/fp/modules/events.py (.../events.py) (revision df5b27e25042247194634b6ebaf440e051e5fd91) @@ -18,7 +18,7 @@ import struct from logging import Logger from datetime import datetime -from typing import Tuple +from typing import Tuple, Union # Project imports from leahi_dialin.common import dd_enum_repository, fp_enum_repository @@ -72,7 +72,7 @@ fp_enum_repository.FPOpModes.MODE_NLEG.name: fp_enum_repository.FPNotLegalStates} # Dictionary of the sub-mode as key and the state enum class as the value - self._sub_mode_2_states = { fp_enum_repository.FPFaultStates.DD_FAULT_STATE_START.name: fp_enum_repository.FPFaultNVDataStates, + self._sub_mode_2_states = { fp_enum_repository.FPFaultStates.FP_FAULT_STATE_START.name: fp_enum_repository.FPFaultNVDataStates, fp_enum_repository.FPPreGenPermeateStates.FP_PRE_GENP_INLET_PRES_CHECK.name: fp_enum_repository.FPInletPresCheckStates, fp_enum_repository.FPPreGenPermeateStates.FP_PRE_GENP_FILTER_FLUSH.name: fp_enum_repository.FPFilterFlushStates, fp_enum_repository.FPPreGenPermeateStates.FP_PRE_GENP_PERMEATE_FLUSH.name: fp_enum_repository.FPPermeateFlushStates, @@ -327,25 +327,34 @@ self.event_op_mode_timestamp = timestamp - def _operation_status_match(self, op_mode: int, sub_mode: int=None, state:int=None, sub_state: int=None) -> Tuple[DialinEnum, DialinEnum, DialinEnum, DialinEnum]: + def _operation_status_match(self, op_mode: int, sub_mode: int=None, state:int=None, sub_state: int=None) -> Tuple[DialinEnum, Union[DialinEnum, int], Union[DialinEnum, int], Union[DialinEnum, int]]: """ Convert operation status values to enums. :param op_mode: (Integer) The operation mode value :param sub_mode: (Integer) The operation sub mode value :param state: (Integer) The operation state value :param sub_state: (Integer) The operation sub state value - :return: Returns the DialinEnum for each provied mode/state + :return: Returns the DialinEnum for each provied mode/state, or the original integer value if no enum is found """ - op_mode_enum = fp_enum_repository.TDOpModes(op_mode) + op_mode_enum = fp_enum_repository.FPOpModes(op_mode) sub_mode_enum = None state_enum = None sub_state_enum = None if sub_mode is not None: - sub_mode_enum = self._op_mode_2_sub_mode[op_mode_enum.name](sub_mode) + if op_mode_enum.name not in self._op_mode_2_sub_mode: + sub_mode_enum = sub_mode + else: + sub_mode_enum = self._op_mode_2_sub_mode[op_mode_enum.name](sub_mode) if state is not None: - state_enum = self._sub_mode_2_states[sub_mode_enum.name](state) + if sub_mode_enum.name not in self._sub_mode_2_states: + state_enum = state + else: + state_enum = self._sub_mode_2_states[sub_mode_enum.name](state) if sub_state is not None: - sub_state_enum = self._state_2_sub_states[state_enum.name](sub_state) + if state_enum.name not in self._state_2_sub_states: + sub_state_enum = sub_state + else: + sub_state_enum = self._state_2_sub_states[state_enum.name](sub_state) return op_mode_enum, sub_mode_enum, state_enum, sub_state_enum Index: leahi_dialin/td/modules/events.py =================================================================== diff -u -r3c2bc6419b5796c03a7e4943938055c4ac36c24b -rdf5b27e25042247194634b6ebaf440e051e5fd91 --- leahi_dialin/td/modules/events.py (.../events.py) (revision 3c2bc6419b5796c03a7e4943938055c4ac36c24b) +++ leahi_dialin/td/modules/events.py (.../events.py) (revision df5b27e25042247194634b6ebaf440e051e5fd91) @@ -19,7 +19,7 @@ from logging import Logger from datetime import datetime import time -from typing import Tuple +from typing import Tuple, Union # Project imports @@ -83,9 +83,8 @@ td_enum_repository.TDTreatmentStates.TREATMENT_PAUSED_STATE.name:td_enum_repository.TDTreaPausedStates, td_enum_repository.TDTreatmentStates.TREATMENT_RINSEBACK_STATE.name:td_enum_repository.TDTreaRinsebackStates, td_enum_repository.TDTreatmentStates.TREATMENT_RECIRC_STATE.name:td_enum_repository.TDTreaRecircStates, - td_enum_repository.TDTreatmentStates.TREATMENT_SALINE_BOLUS_STATE.name:td_enum_repository.TDTreaBolusStates, - td_enum_repository.TDTreatmentStates.TREATMENT_HEPARIN_STATE.name:td_enum_repository.TDTreaHeparinStates, - td_enum_repository.TDTreatmentStates.TREATMENT_END_STATE.name:td_enum_repository.TDTreaEndStates } + td_enum_repository.TDTreatmentStates.TREATMENT_END_STATE.name:td_enum_repository.TDTreaEndStates, + td_enum_repository.TDTreatmentStates.TREATMENT_SALINE_BOLUS_STATE.name:td_enum_repository.TDTreaBolusStates } # Dictionary of the state as key and the sub state enum class as the value self._state_2_sub_states = {td_enum_repository.TDPreTreaSampleWaterStates.SAMPLE_WATER_STATE.name: td_enum_repository.TDPreTreaSamplWaterUserActionStates, @@ -334,25 +333,34 @@ self.event_op_mode_timestamp = timestamp - def _operation_status_match(self, op_mode: int, sub_mode: int=None, state:int=None, sub_state: int=None) -> Tuple[DialinEnum, DialinEnum, DialinEnum, DialinEnum]: + def _operation_status_match(self, op_mode: int, sub_mode: int=None, state:int=None, sub_state: int=None) -> Tuple[DialinEnum, Union[DialinEnum, int], Union[DialinEnum, int], Union[DialinEnum, int]]: """ Convert operation status values to enums. :param op_mode: (Integer) The operation mode value :param sub_mode: (Integer) The operation sub mode value :param state: (Integer) The operation state value :param sub_state: (Integer) The operation sub state value - :return: Returns the DialinEnum for each provied mode/state + :return: Returns the DialinEnum for each provied mode/state, or the original integer value if no enum is found """ op_mode_enum = td_enum_repository.TDOpModes(op_mode) sub_mode_enum = None state_enum = None sub_state_enum = None if sub_mode is not None: - sub_mode_enum = self._op_mode_2_sub_mode[op_mode_enum.name](sub_mode) + if op_mode_enum.name not in self._op_mode_2_sub_mode: + sub_mode_enum = sub_mode + else: + sub_mode_enum = self._op_mode_2_sub_mode[op_mode_enum.name](sub_mode) if state is not None: - state_enum = self._sub_mode_2_states[sub_mode_enum.name](state) + if sub_mode_enum.name not in self._sub_mode_2_states: + state_enum = state + else: + state_enum = self._sub_mode_2_states[sub_mode_enum.name](state) if sub_state is not None: - sub_state_enum = self._state_2_sub_states[state_enum.name](sub_state) + if state_enum.name not in self._state_2_sub_states: + sub_state_enum = sub_state + else: + sub_state_enum = self._state_2_sub_states[state_enum.name](sub_state) return op_mode_enum, sub_mode_enum, state_enum, sub_state_enum Fisheye: Tag df5b27e25042247194634b6ebaf440e051e5fd91 refers to a dead (removed) revision in file `leahi-common'. Fisheye: No comparison available. Pass `N' to diff?