From 712b8a19cf192809ab07b7e0e7216fade6c00d76 Mon Sep 17 00:00:00 2001 From: James Woglom Date: Sat, 21 Sep 2024 21:52:52 -0400 Subject: [PATCH] event class --- tconnectsync/domain/tandemsource/__init__.py | 0 .../domain/tandemsource/event_class.py | 30 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 tconnectsync/domain/tandemsource/__init__.py create mode 100644 tconnectsync/domain/tandemsource/event_class.py diff --git a/tconnectsync/domain/tandemsource/__init__.py b/tconnectsync/domain/tandemsource/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tconnectsync/domain/tandemsource/event_class.py b/tconnectsync/domain/tandemsource/event_class.py new file mode 100644 index 0000000..fcc634f --- /dev/null +++ b/tconnectsync/domain/tandemsource/event_class.py @@ -0,0 +1,30 @@ +from enum import Enum + +from ...eventparser import events + +class EventClass(set, Enum): + # LidBasalDelivery = every 5min entry + # LidBasalRateChange = only when basal rate changes + BASAL = {events.LidBasalDelivery} # , LidBasalRateChange + BASAL_SUSPENSION = {events.LidPumpingSuspended} + BASAL_RESUME = {events.LidPumpingResumed} + ALARM = {events.LidAlarmActivated, events.LidMalfunctionActivated} + BOLUS = {events.LidBolusCompleted, events.LidBolexCompleted} + CARTRIDGE = {events.LidCartridgeFilled, events.LidCannulaFilled, events.LidTubingFilled} + CGM_ALERT = {events.LidCgmAlertActivated, events.LidCgmAlertActivatedDex, events.LidCgmAlertActivatedFsl2} + CGM_START = {events.LidCgmStartSessionGx, events.LidCgmStartSessionFsl2} + CGM_JOIN = {events.LidCgmJoinSessionGx, events.LidCgmJoinSessionG7, events.LidCgmJoinSessionFsl2} + CGM_STOP = {events.LidCgmStopSessionGx, events.LidCgmStopSessionG7, events.LidCgmStopSessionFsl2} + CGM_READING = {events.LidCgmDataGxb, events.LidCgmDataG7, events.LidCgmDataFsl2} + USER_MODE = {events.LidAaUserModeChange} + + @staticmethod + def for_event(evt): + for typ, vals in EventClass.__members__.items(): + if type(evt) == type and evt in vals: + return EventClass.__members__[typ] + elif type(evt) in vals: + return EventClass.__members__[typ] + return None + +