from re import L
from flask import Flask, request
from api.node import node_reading, node_register
import json
app = Flask(__name__)
state = {
"nodes": {},
"max_id": 0
}
@app.route("/")
def home():
out = ""
for node in state["nodes"].values():
most_recent_temperature = node.get_temperature_readings()[-1]
most_recent_humidity = node.get_humidity_readings()[-1]
out += f"
{node.get_name()}
\n"
out += f"Temperature: {most_recent_temperature[0]}C (Minimum: {node.get_min_temperature()}C, Maximum: {node.get_max_temperature()}C\n"
out += f"Humidity: {most_recent_humidity[0]}% (Minimum: {node.get_min_humidity()}%, Maximum: {node.get_max_humidity()}%)\n"
return out
# API functions
@app.route("/api/register", methods=["POST"])
def route_api_register():
return node_register(request, state)
@app.route("/api//reading", methods=["POST"])
def route_api_reading(node_id: int):
return node_reading(node_id, request, state)