From: Roman Bazalevskiy <rvb@rvb.name>
Date: Wed, 3 Jan 2018 19:11:44 +0000 (+0300)
Subject: Исправлена ошибка при пустом (но не null) имени топика.
X-Git-Url: https://git.rvb.name/weathermon.git/commitdiff_plain/72cd4bb0ea28977f72894b7ce52d71218add44a7?ds=sidebyside;hp=-c

Исправлена ошибка при пустом (но не null) имени топика.
---

72cd4bb0ea28977f72894b7ce52d71218add44a7
diff --git a/weathermon-mqtt b/weathermon-mqtt
index f288f51..c6b6a82 100755
--- a/weathermon-mqtt
+++ b/weathermon-mqtt
@@ -14,24 +14,27 @@ def on_message(mosq, obj, msg):
   payload=json.loads(msg.payload)
   timestamp=tparser.parse(payload['Time'])
   for sensor_type in payload:
-    if sensor_type != 'Time':
+    if sensor_type != 'Time' and sensor_type != 'TempUnit':
       sensor_data=payload[sensor_type]
       for param in sensor_data:
         try:
           value=sensor_data[param]
-          c = database.cursor()
-          c.execute('CALL meteo.submit_mqtt(%s,%s,%s,%s,NULL)', (topic,sensor_type,param,value))
-          database.commit()
-          print topic,sensor_type,param,value
+          try:
+            c = database.cursor()
+            c.execute('CALL meteo.submit_mqtt(%s,%s,%s,%s,NULL)', (topic,sensor_type,param,value))
+            database.commit()
+            print topic,sensor_type,param,value
+          except:
+            print "Failed to submit data"
         except:
-          print "Failed to submit data"  
+          None    
 
 def Topics():
 
   c = database.cursor()
   c.execute(
     '''
-    select topic from mqtt_topics
+    select topic from mqtt_topics where topic<>""
     '''
   )