From 81b6cc9b49bb38d11ba5b0d155e52f5df72b1d1b Mon Sep 17 00:00:00 2001 From: Alexander Vasarab Date: Wed, 18 Nov 2020 16:43:19 -0800 Subject: [PATCH 1/1] Adjust precision of particular values Upon on-boarding a new subscriber, it was found that InfoEx would color certain fields in the browser red (indicating invalid data) if too much precision was present when pre-filling a subscriber's Wx form. --- infoex-autowx.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/infoex-autowx.py b/infoex-autowx.py index c5ec48d..6045991 100755 --- a/infoex-autowx.py +++ b/infoex-autowx.py @@ -218,6 +218,20 @@ def main(): LOG.warning("BAD KEY wx_data['%s']", element_cd) continue + # Massage precision of certain values to fit InfoEx's + # expectations + # + # 0 decimal places: wind speed, wind direction, wind gust, snow depth + # 1 decimal place: air temp, baro + # Avoid transforming None values + if infoex['wx_data'][element_cd] is None: + continue + elif element_cd in ['wind_speed', 'WSPD', 'wind_direction', + 'WDIR', 'wind_gust', 'SNWD', 'snow_depth']: + infoex['wx_data'][element_cd] = round(infoex['wx_data'][element_cd]) + elif element_cd in ['TOBS', 'air_temp', 'PRES', 'pressure']: + infoex['wx_data'][element_cd] = round(infoex['wx_data'][element_cd], 1) + # CONSIDER: Casting every value to Float() -- need to investigate if # any possible elementCds we may want are any other data # type than float. -- 2.30.2