Add date range filter to getData function
This commit is contained in:
@@ -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
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user