From cde63f1c335bde04c2ba155ce8c3ae645f90fa4c Mon Sep 17 00:00:00 2001 From: Philipp Spitzer Date: Wed, 18 Jul 2018 22:56:00 +0200 Subject: [PATCH] Split function select_sensordata(). --- web/seepark_web.py | 45 ++++++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/web/seepark_web.py b/web/seepark_web.py index fc28fde..18bedc9 100644 --- a/web/seepark_web.py +++ b/web/seepark_web.py @@ -61,17 +61,16 @@ class Sensors(db.Model): __tablename__ = 'sensors' -def select_sensordata(initial_where): - query = Sensors.query.filter(initial_where) - begin = request.args.get('begin', None, parse_datetime) - end = request.args.get('end', None, parse_datetime) +def select_sensordata(sensor_id, sensor_type, begin, end, mode): + 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) - result = query.all() - - mode = request.args.get('mode', 'full') if mode == 'consolidated': if begin is None or end is None: pass @@ -95,17 +94,29 @@ def select_sensordata(initial_where): resolution = resolutions['year'] # TODO: filter out samples from 'result' # like loop over results and skip if timestamp(n+1)-timestamp(n), optional. return all rows (default) or with lower resolution (for charts) format=, optional. return result as returned by sqlalchemy (default) or formatted for c3.js """ - result = select_sensordata(Sensors.sensor_id == sensor_id) + result = sensordata(sensor_id=sensor_id) return jsonify(result) @@ -153,7 +164,7 @@ def sensortype(version, sensor_type): mode=, optional. return all rows (default) or with lower resolution (for charts) format=, optional. return result as returned by sqlalchemy (default) or formatted for c3.js """ - result = select_sensordata(Sensors.value_type == sensor_type) + result = sensordata(sensor_type=sensor_type) return jsonify(result) -- 2.47.3