Minor bugfixes with weather services API
[weathermon.git] / weathermon
index f7b2bd52aca3c26300bcde5d771de4b0d8de4ab0..7b78ca735ec97f0d0aa49415dea047d1297eccba 100755 (executable)
@@ -29,8 +29,10 @@ path = None
 timeout = 5
 
 external_submit_interval = 320
+owm_submit_interval = 320
 expire_interval = 1200
 submit_time = time()
+submit_time_owm = time()
 submit_queue = {}
 
 import MySQLdb
@@ -109,7 +111,7 @@ def submit_narodmon(queue):
                                                                           
     response_value = response_buffer.getvalue()
                                                                               
-    print_log('Content: '+response_value)
+    print_log('Narodmon response: '+response_value)
                                                                                   
     return True
                                                                                       
@@ -149,7 +151,7 @@ def submit_owm(queue):
     
     response_value = response_buffer.getvalue()
     
-    print_log('Content: '+response_value)
+    print_log('Openweathermap response: '+response_value)
   
     return True
   
@@ -173,18 +175,21 @@ def purge_queue():
   
 def submit_data(sensor_type,sensor_id,sensor_param,param_value):
   global submit_time
+  global submit_time_owm
+  global external_submit_interval
+  global owm_submit_interval
   global submit_queue
   c = database.cursor()
   c.execute('CALL meteo.submit_value(%s,%s,%s,%s,NULL)', (sensor_type,sensor_id,sensor_param,param_value))
   database.commit()
   submit_queue[sensor_type+'.'+sensor_id+'.'+sensor_param]={'val':param_value,'timestamp':time()}
   if time()>submit_time+external_submit_interval:
-    if submit_narodmon(submit_queue):
-      if owmuser:
-        submit_owm(submit_queue)
-      print_log('Purging queue...')
-      submit_time=time()
-      purge_queue()
+    submit_narodmon(submit_queue)
+    submit_time=time()
+  if owmuser and time()>submit_time_owm+owm_submit_interval:
+    submit_owm(submit_queue)
+    submit_time_owm=time()
+  purge_queue()
         
  
 def process_str(str):