REST APi
This commit is contained in:
@@ -1,15 +1,16 @@
|
||||
from flask import Flask, request
|
||||
import mysql.connector
|
||||
|
||||
from queries import *
|
||||
app = Flask(__name__)
|
||||
|
||||
@app.route('/')
|
||||
def index():
|
||||
node = request.args.get('node', 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:
|
||||
mydb = mysql.connector.connect(
|
||||
host="localhost",
|
||||
@@ -17,20 +18,12 @@ def getData(node, dataType):
|
||||
password="Dingleberries69!",
|
||||
database="NodeData"
|
||||
)
|
||||
#turn this into a switch statement
|
||||
cursor = mydb.cursor()
|
||||
if node:
|
||||
query = f"SELECT * FROM Measurement WHERE NodeID = {node}"
|
||||
elif dataType:
|
||||
query = f"SELECT * FROM Measurement WHERE Type = '{dataType}'"
|
||||
else:
|
||||
query = "SELECT * FROM `Measurement`"
|
||||
|
||||
query = get_query(node, dataType, MAC)
|
||||
cursor = mydb.cursor(dictionary=True) # Enable dictionary output
|
||||
cursor.execute(query)
|
||||
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()
|
||||
mydb.close()
|
||||
|
||||
|
12
server/Flask/queries.py
Normal file
12
server/Flask/queries.py
Normal 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
|
Reference in New Issue
Block a user