Refactor getData function and fix query bug
This commit is contained in:
@@ -49,9 +49,9 @@ def loginDB():
|
|||||||
)
|
)
|
||||||
return mydb
|
return mydb
|
||||||
|
|
||||||
def getData(node, dataType, MAC, dateStart, dateEnd):
|
def getData(node, dataType, MAC, dateStart, dateEnd, type):
|
||||||
mydb = loginDB()
|
mydb = loginDB()
|
||||||
query = get_query(node, dataType, MAC, False, False, dateStart, dateEnd)
|
query = get_query(node, dataType, MAC, dateStart, dateEnd, type)
|
||||||
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,12 +1,12 @@
|
|||||||
def get_query(node, dataType, MAC, questionID, replies, dateStart, dateEnd):
|
def get_query(node, dataType, MAC, questionID, replies, dateStart, dateEnd):
|
||||||
if dateStart and dateEnd and node:
|
if dateStart and dateEnd and node and dataType:
|
||||||
|
query = f'''SELECT *
|
||||||
|
FROM Measurement
|
||||||
|
WHERE TimeStamp BETWEEN '{dateStart}' AND '{dateEnd}' AND NodeID = {node} AND Type IN {dataType} OR;'''
|
||||||
|
elif dateStart and dateEnd and node:
|
||||||
query = f'''SELECT *
|
query = f'''SELECT *
|
||||||
FROM Measurement
|
FROM Measurement
|
||||||
WHERE TimeStamp BETWEEN '{dateStart}' AND '{dateEnd}' AND NodeID = {node};'''
|
WHERE TimeStamp BETWEEN '{dateStart}' AND '{dateEnd}' AND NodeID = {node};'''
|
||||||
elif dateStart and dateEnd:
|
|
||||||
query = f'''SELECT *
|
|
||||||
FROM Measurement
|
|
||||||
WHERE TimeStamp BETWEEN '{dateStart}' AND '{dateEnd}';'''
|
|
||||||
elif node and dataType:
|
elif 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:
|
||||||
|
Reference in New Issue
Block a user