Add date range filter to getData function
This commit is contained in:
@@ -3,12 +3,14 @@ import mysql.connector
|
|||||||
from queries import *
|
from queries import *
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
|
|
||||||
@app.route('/')
|
@app.route('/getMeasurements')
|
||||||
def index():
|
def index():
|
||||||
node = request.args.get('node', default = None)
|
node = request.args.get('node', default = None)
|
||||||
dataType = request.args.get('dataType', default = None)
|
dataType = request.args.get('dataType', default = None)
|
||||||
MAC = request.args.get('MAC', 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')
|
@app.route('/updateData')
|
||||||
def updateDataIndex():
|
def updateDataIndex():
|
||||||
@@ -47,9 +49,9 @@ def loginDB():
|
|||||||
)
|
)
|
||||||
return mydb
|
return mydb
|
||||||
|
|
||||||
def getData(node, dataType, MAC):
|
def getData(node, dataType, MAC, dateStart, dateEnd):
|
||||||
mydb = loginDB()
|
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 = mydb.cursor(dictionary=True) # Enable dictionary output
|
||||||
cursor.execute(query)
|
cursor.execute(query)
|
||||||
result = cursor.fetchall() # Fetch the results
|
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:
|
if node and dataType:
|
||||||
query = f"SELECT * FROM Measurement WHERE NodeID = {node} AND Type = '{dataType}'"
|
query = f"SELECT * FROM Measurement WHERE NodeID = {node} AND Type = '{dataType}'"
|
||||||
elif node:
|
elif node:
|
||||||
@@ -13,6 +13,10 @@ def get_query(node, dataType, MAC, questionID, replies):
|
|||||||
query = f"SELECT * FROM Question"
|
query = f"SELECT * FROM Question"
|
||||||
elif replies:
|
elif replies:
|
||||||
query = f"SELECT * FROM Reply"
|
query = f"SELECT * FROM Reply"
|
||||||
|
elif dateStart and dateEnd:
|
||||||
|
query = f'''SELECT *
|
||||||
|
FROM Measurement
|
||||||
|
WHERE TimeStamp BETWEEN '{dateStart}' AND '{dateEnd}';'''
|
||||||
else:
|
else:
|
||||||
query = "SELECT * FROM `Measurement`"
|
query = "SELECT * FROM `Measurement`"
|
||||||
return query
|
return query
|
||||||
|
Reference in New Issue
Block a user