]> ToastFreeware Gitweb - chrisu/seepark.git/blobdiff - web/seepark_web.py
switch from 5 minutes to 10 minutes
[chrisu/seepark.git] / web / seepark_web.py
index bd22d31a693b46bee0dc80b7aa503ac0d0bffb69..d9c61c3a7a5a0d57acf0de7ada4c96b21b1096ba 100644 (file)
@@ -59,24 +59,12 @@ class OpenWeatherMap(db.Model):
     __tablename__ = 'openweathermap'
 
 
-def select_sensordata(sensor_id, sensor_type, begin, end):
-    query = Sensors.query
-    if sensor_id is not None:
-        query = query.filter(Sensors.sensor_id == sensor_id)
-    if sensor_type is not None:
-        query = query.filter(Sensors.value_type == sensor_type)
-    if begin is not None:
-        query = query.filter(Sensors.timestamp >= begin)
-    if end is not None:
-        query = query.filter(Sensors.timestamp <= end)
-    return query.all()
-
-
 def calc_grouping_resolution(begin, end):
     """How many data points should be between the timestamps begin and end?"""
     # copied from munin/master/_bin/munin-cgi-graph.in
+    # except day: 300 -> 600
     resolutions = dict(
-        day   =   300,
+        day   =   600,
         week  =  1800,
         month =  7200,
         year  = 86400,
@@ -94,6 +82,19 @@ def calc_grouping_resolution(begin, end):
     return resolution
 
 
+def select_sensordata(sensor_id, sensor_type, begin, end):
+    query = Sensors.query
+    if sensor_id is not None:
+        query = query.filter(Sensors.sensor_id == sensor_id)
+    if sensor_type is not None:
+        query = query.filter(Sensors.value_type == sensor_type)
+    if begin is not None:
+        query = query.filter(Sensors.timestamp >= begin)
+    if end is not None:
+        query = query.filter(Sensors.timestamp <= end)
+    return query.all()
+
+
 def select_sensordata_grouped(sensor_id, sensor_type, begin, end):
     # determine resolution (interval in seconds for data points)
     resolution = calc_grouping_resolution(begin, end)
@@ -262,6 +263,18 @@ def openweathermap_city(version, cityid):
     return jsonify(result)
 
 
+@app.route('/api/<version>/currentairtemperature')
+def currentair(version):
+    value, timestamp = currentairtemperature(cityid)
+    return jsonify({"value": value, "timestamp": timestamp})
+
+
+@app.route('/api/<version>/currentwatertemperature')
+def currentwater(version):
+    value, timestamp = currentwatertemperature(mainsensor)
+    return jsonify({"value": value, "timestamp": timestamp})
+
+
 @app.route("/")
 def index():
     airvalue, airtime     = currentairtemperature(cityid)