From e82d311fd63fe2071fe811b803426ab5086d786f Mon Sep 17 00:00:00 2001 From: James Woglom Date: Tue, 10 Dec 2024 17:44:32 -0500 Subject: [PATCH] eventparser: move baseevent --- tconnectsync/eventparser/build_events.py | 8 +----- tconnectsync/eventparser/events.py | 8 +----- tconnectsync/eventparser/raw_event.py | 31 +++++++++++++++++++++++- 3 files changed, 32 insertions(+), 15 deletions(-) diff --git a/tconnectsync/eventparser/build_events.py b/tconnectsync/eventparser/build_events.py index 88fe634..468526b 100644 --- a/tconnectsync/eventparser/build_events.py +++ b/tconnectsync/eventparser/build_events.py @@ -3,18 +3,12 @@ import struct import logging from dataclasses import dataclass from enum import Enum, IntFlag -from .raw_event import RawEvent +from .raw_event import RawEvent, BaseEvent logger = logging.getLogger(__name__) EVENT_LEN = 26 -@dataclass -class BaseEvent: - @staticmethod - def build(raw): - raise NotImplemented - ''' TYPE_TO_STRUCT = { diff --git a/tconnectsync/eventparser/events.py b/tconnectsync/eventparser/events.py index 0fb28f5..d15cfee 100644 --- a/tconnectsync/eventparser/events.py +++ b/tconnectsync/eventparser/events.py @@ -3,18 +3,12 @@ import struct import logging from dataclasses import dataclass from enum import Enum, IntFlag -from .raw_event import RawEvent +from .raw_event import RawEvent, BaseEvent logger = logging.getLogger(__name__) EVENT_LEN = 26 -@dataclass -class BaseEvent: - @staticmethod - def build(raw): - raise NotImplemented - UINT8 = '>B' INT8 = '>b' UINT16 = '>H' diff --git a/tconnectsync/eventparser/raw_event.py b/tconnectsync/eventparser/raw_event.py index 76b8abb..6a35d69 100644 --- a/tconnectsync/eventparser/raw_event.py +++ b/tconnectsync/eventparser/raw_event.py @@ -10,8 +10,23 @@ UINT16 = '>H' UINT32 = '>I' TANDEM_EPOCH = 1199145600 + @dataclass -class RawEvent: +class BaseEvent: + @staticmethod + def build(raw): + raise NotImplemented + + @property + def eventTimestamp(self): + raise NotImplemented + + @property + def eventId(self): + raise NotImplemented + +@dataclass +class RawEvent(BaseEvent): source: int id: int timestampRaw: int @@ -39,3 +54,17 @@ class RawEvent: # referenced on them, but force the timezone to what the user # requests via the TZ secret. return arrow.get(TANDEM_EPOCH + self.timestampRaw, tzinfo='UTC').replace(tzinfo=TIMEZONE_NAME) + + @property + def eventId(self): + return self.id + + @property + def eventTimestamp(self): + return self.timestamp + + @property + def raw(self): + return self + +