Fix possibility of a NoneType raising a TypeError
authorAlexander Vasarab <alexander@wylark.com>
Thu, 18 Feb 2021 17:37:48 +0000 (09:37 -0800)
committerAlexander Vasarab <alexander@wylark.com>
Thu, 18 Feb 2021 17:37:48 +0000 (09:37 -0800)
infoex-autowx.py

index 2bac782f3c75e9a578c100ef6295da12dc5ada75..25ef4158616ff37a16e9b8dd0e1551be04ca1f9a 100755 (executable)
@@ -275,6 +275,9 @@ def main():
             LOG.warning("BAD KEY wx_data['%s']", element_cd)
             continue
 
             LOG.warning("BAD KEY wx_data['%s']", element_cd)
             continue
 
+        if infoex['wx_data'][element_cd] is None:
+            continue
+
         # do the conversion before the rounding
         if station['provider'] == 'nrcs' and station['units'] == 'metric':
             infoex['wx_data'][element_cd] = convert_nrcs_units_to_metric(element_cd, infoex['wx_data'][element_cd])
         # do the conversion before the rounding
         if station['provider'] == 'nrcs' and station['units'] == 'metric':
             infoex['wx_data'][element_cd] = convert_nrcs_units_to_metric(element_cd, infoex['wx_data'][element_cd])
@@ -286,11 +289,9 @@ def main():
         #                   direction, wind gust, snow depth
         # 1 decimal place:  air temp, baro
         # Avoid transforming None values
         #                   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',
-                            'RHUM', 'relative_humidity', 'WDIR',
-                            'wind_gust', 'SNWD', 'snow_depth']:
+        if element_cd in ['wind_speed', 'WSPD', 'wind_direction',
+                          'RHUM', 'relative_humidity', '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)
             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)