Files
goodgarden/app.py
2024-04-02 11:23:40 +02:00

104 lines
2.7 KiB
Python

# from flask import Flask, jsonify
# import mysql.connector
# app = Flask(__name__)
# def database_connect():
# try:
# connection = mysql.connector.connect(
# host='localhost',
# user='root',
# password='',
# database='goodgarden'
# )
# return connection
# except Exception as e:
# print("Database connection failed:", e)
# return None
# # Function to get data from the MySQL database
# def get_database_data():
# mydb = database_connect()
# if mydb and mydb.is_connected():
# cursor = mydb.cursor()
# # Query to retrieve the latest battery voltage data
# query = "SELECT label, last_seen, last_battery_voltage, device_id FROM devices"
# cursor.execute(query)
# battery_data = cursor.fetchall()
# mydb.close()
# return battery_data
# @app.route('/', methods=['GET'])
# def get_data():
# battery_data_322 = get_database_data()
# if battery_data_322 is None:
# return jsonify({"error": "Failed to fetch data from database"})
# data_dict = {
# "label": battery_data_322[0],
# "last_seen": battery_data_322[1],
# "last_battery_voltage": battery_data_322[2],
# "device_id": battery_data_322[3]
# }
# return jsonify(data_dict)
# if __name__ == "__main__":
# app.run(host='127.0.0.1', port=5000)
from flask import Flask, jsonify
import mysql.connector
app = Flask(__name__)
def database_connect():
try:
connection = mysql.connector.connect(
host="localhost",
user="root",
password="",
database="goodgarden"
)
return connection
except Exception as e:
print("Database connection failed:", e)
return None
# Function to get data from the MySQL database
def get_database_data():
mydb = database_connect()
if mydb and mydb.is_connected():
cursor = mydb.cursor(dictionary=True) # Enable dictionary result
# Query to retrieve the latest battery voltage data
query = "SELECT label, last_seen, last_battery_voltage, device_id FROM devices"
cursor.execute(query)
battery_data = cursor.fetchall() # Fetch all rows
mydb.close()
return battery_data
@app.route('/', methods=['GET'])
def get_data():
battery_data = get_database_data()
if battery_data is None or len(battery_data) == 0:
return jsonify({"error": "Failed to fetch data from database"})
return jsonify(battery_data) # Directly return the list of dictionaries as JSON
if __name__ == "__main__":
app.run(host="127.0.0.1", port=5000)