From 221142a08e294466cac48b1f4285df19ed0e5919 Mon Sep 17 00:00:00 2001 From: XANTRONIX Industrial Date: Sat, 1 Mar 2025 10:44:08 -0500 Subject: [PATCH] Implement parsing significant pressures --- lib/xmet/rawins.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/lib/xmet/rawins.py b/lib/xmet/rawins.py index 79bae08..ae7b0ea 100644 --- a/lib/xmet/rawins.py +++ b/lib/xmet/rawins.py @@ -27,17 +27,12 @@ class RawinsObs(): def __init__(self, kind: str): self.kind: str = kind self.timestamp: datetime.datetime = None - self.height: float = None self.surface: float = None self.values: list[str] = list() def read(self, value: str): self.values.append(value) - HEIGHTS = { - 'TTAA': lambda n: n * 100 - } - TTAA_HEIGHTS = { '00': 1000, '92': 925, @@ -64,8 +59,6 @@ class RawinsObs(): day = day ) - self.height = self.HEIGHTS[self.kind](int(value[4])) - def parse_surface(self, value: str): if value[0:2] == '99': self.surface = float(value[2:5]) @@ -110,6 +103,18 @@ class RawinsObs(): 'pressure': float(value[2:5]) } + PRESSURES_SIG = { + '11': True, '22': True, '33': True, '44': True, '55': True, + '66': True, '77': True, '88': True, '99': True + } + + def parse_significant_pressure(self, value: str): + if value[0:2] in self.PRESSURES_SIG: + return { + 'height': None, + 'pressure': float(value[2:5]) + } + def parse_ttaa(self): pass