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)