Files
thermometer-server/src/main.py
2022-08-08 22:44:12 +01:00

36 lines
1022 B
Python

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"<h2>{node.get_name()}</h2>\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/<int:node_id>/reading", methods=["POST"])
def route_api_reading(node_id: int):
return node_reading(node_id, request, state)