This commit is contained in:
2024-03-14 19:20:01 +01:00
parent 6ea17a63c7
commit 1c7fd2ab68
2 changed files with 19 additions and 14 deletions

View File

@@ -1,15 +1,16 @@
from flask import Flask, request from flask import Flask, request
import mysql.connector import mysql.connector
from queries import *
app = Flask(__name__) app = Flask(__name__)
@app.route('/') @app.route('/')
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)
return getData(node, dataType) MAC = request.args.get('MAC', default = None)
return getData(node, dataType, MAC)
def getData(node, dataType): def getData(node, dataType, MAC):
try: try:
mydb = mysql.connector.connect( mydb = mysql.connector.connect(
host="localhost", host="localhost",
@@ -17,20 +18,12 @@ def getData(node, dataType):
password="Dingleberries69!", password="Dingleberries69!",
database="NodeData" database="NodeData"
) )
#turn this into a switch statement
cursor = mydb.cursor() query = get_query(node, dataType, MAC)
if node: cursor = mydb.cursor(dictionary=True) # Enable dictionary output
query = f"SELECT * FROM Measurement WHERE NodeID = {node}"
elif dataType:
query = f"SELECT * FROM Measurement WHERE Type = '{dataType}'"
else:
query = "SELECT * FROM `Measurement`"
cursor.execute(query) cursor.execute(query)
result = cursor.fetchall() # Fetch the results result = cursor.fetchall() # Fetch the results
# Convert the results to a string for display
result_str = ', '.join([str(row) for row in result])
cursor.close() cursor.close()
mydb.close() mydb.close()

12
server/Flask/queries.py Normal file
View File

@@ -0,0 +1,12 @@
def get_query(node, dataType, MAC):
if node and dataType:
query = f"SELECT * FROM Measurement WHERE NodeID = {node} AND Type = '{dataType}'"
elif node:
query = f"SELECT * FROM Measurement WHERE NodeID = {node}"
elif dataType:
query = f"SELECT * FROM Measurement WHERE Type = '{dataType}'"
elif MAC:
query = f"SELECT * FROM Node WHERE MAC = '{MAC}'"
else:
query = "SELECT * FROM `Measurement`"
return query