Version bump
[infoex-autowx.git] / infoex-autowx.py
index b979287e1a38b12d6796a3b590098ee894ba44c8..abdf14ae04e1cced93caac823de54485ae0feac4 100755 (executable)
@@ -29,6 +29,7 @@ import logging
 import os
 import sys
 import time
+import importlib.util
 
 from ftplib import FTP
 from argparse import ArgumentParser
@@ -41,7 +42,7 @@ import zeep
 import zeep.cache
 import zeep.transports
 
-__version__ = '3.1.0'
+__version__ = '3.1.1'
 
 LOG = logging.getLogger(__name__)
 LOG.setLevel(logging.NOTSET)
@@ -228,8 +229,6 @@ def main():
                                               station)
     elif station['provider'] == 'python':
         try:
-            import importlib.util
-
             spec = importlib.util.spec_from_file_location('custom_wx',
                                                           station['path'])
             mod = importlib.util.module_from_spec(spec)
@@ -474,11 +473,19 @@ def get_mesowest_data(begin, end, station):
 
     try:
         observations = json['STATION'][0]['OBSERVATIONS']
-    except KeyError:
-        LOG.error("Unexpected JSON in MesoWest response")
+    except KeyError as exc:
+        LOG.error("Unexpected JSON in MesoWest response: '%s'", exc)
         sys.exit(1)
-    except ValueError:
-        LOG.error("Bad JSON in MesoWest response")
+    except IndexError as exc:
+        LOG.error("Unexpected JSON in MesoWest response: '%s'", exc)
+        try:
+            LOG.error("Detailed MesoWest response: '%s'",
+                      json['SUMMARY']['RESPONSE_MESSAGE'])
+        except KeyError:
+            pass
+        sys.exit(1)
+    except ValueError as exc:
+        LOG.error("Bad JSON in MesoWest response: '%s'", exc)
         sys.exit(1)
 
     pos = len(observations['date_time']) - 1