From 912ffc052b926c1f3c01f9ad4a8279cf99548f8a Mon Sep 17 00:00:00 2001 From: sietse jonker Date: Sun, 31 Mar 2024 21:08:48 +0200 Subject: [PATCH] Add date range filter to getData function --- server/Flask/main.py | 10 ++++++---- server/Flask/queries.py | 6 +++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/server/Flask/main.py b/server/Flask/main.py index 6e7c9f4..349cf99 100644 --- a/server/Flask/main.py +++ b/server/Flask/main.py @@ -3,12 +3,14 @@ import mysql.connector from queries import * app = Flask(__name__) -@app.route('/') +@app.route('/getMeasurements') def index(): node = request.args.get('node', default = None) dataType = request.args.get('dataType', default = None) MAC = request.args.get('MAC', default = None) - return getData(node, dataType, MAC) + dateStart = request.args.get('dateStart', default = None) + dateEnd = request.args.get('dateEnd', default = None) + return getData(node, dataType, MAC, dateStart, dateEnd) @app.route('/updateData') def updateDataIndex(): @@ -47,9 +49,9 @@ def loginDB(): ) return mydb -def getData(node, dataType, MAC): +def getData(node, dataType, MAC, dateStart, dateEnd): mydb = loginDB() - query = get_query(node, dataType, MAC, False, False) + query = get_query(node, dataType, MAC, False, False, dateStart, dateEnd) cursor = mydb.cursor(dictionary=True) # Enable dictionary output cursor.execute(query) result = cursor.fetchall() # Fetch the results diff --git a/server/Flask/queries.py b/server/Flask/queries.py index 143b691..65abfeb 100644 --- a/server/Flask/queries.py +++ b/server/Flask/queries.py @@ -1,4 +1,4 @@ -def get_query(node, dataType, MAC, questionID, replies): +def get_query(node, dataType, MAC, questionID, replies, dateStart, dateEnd): if node and dataType: query = f"SELECT * FROM Measurement WHERE NodeID = {node} AND Type = '{dataType}'" elif node: @@ -13,6 +13,10 @@ def get_query(node, dataType, MAC, questionID, replies): query = f"SELECT * FROM Question" elif replies: query = f"SELECT * FROM Reply" + elif dateStart and dateEnd: + query = f'''SELECT * + FROM Measurement + WHERE TimeStamp BETWEEN '{dateStart}' AND '{dateEnd}';''' else: query = "SELECT * FROM `Measurement`" return query