Initial server

This commit is contained in:
James H
2022-08-08 22:02:28 +01:00
parent 04761568d7
commit d82914deaf
2 changed files with 98 additions and 0 deletions

38
src/main.py Normal file
View File

@@ -0,0 +1,38 @@
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 test():
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 Humidity: {most_recent_humidity[0]}%\n"
out += "<h3>Temperature Readings</h3>\n"
out += f"{json.dumps(node.get_temperature_readings())}\n"
out += "<h3>Humidity Readings</h3>\n"
out += f"{json.dumps(node.get_humidity_readings())}\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)