From 7ed9f7fca14e3de15d7e885876ece8bd700f015e Mon Sep 17 00:00:00 2001 From: jorjun Date: Thu, 19 Jan 2023 15:53:10 +0000 Subject: [PATCH] tidy up PR Thanks for feedback and for publishing this. Co-authored-by: Phil Howard --- examples/web_serve.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 examples/web_serve.py diff --git a/examples/web_serve.py b/examples/web_serve.py new file mode 100644 index 0000000..1b68ab6 --- /dev/null +++ b/examples/web_serve.py @@ -0,0 +1,36 @@ +""" +@jorjun Anno Vvii ☉ in ♓ ☽ in ♋ +License: MIT +Description: Web API for moisture readings: http://:8080/ +""" +from functools import partial +import json +import logging +from aiohttp import web +from grow.moisture import Moisture + +json_response = partial(web.json_response, dumps=partial(json.dumps, default=str)) +routes = web.RouteTableDef() + + +@routes.get("/") # Or whatever URL path you want +async def reading(request): + data = { + "m1": meter[0].moisture, + "m2": meter[1].moisture, + "m3": meter[2].moisture, + } + return json_response(data) + + +if __name__ == "__main__": + app = web.Application() + logging.basicConfig(level=logging.INFO) + app.add_routes(routes) + meter = [Moisture(_+1) for _ in range(3)] + web.run_app( + app, + host="0.0.0.0", + port=8080, + access_log_format='%s %r [%b / %Tf] "%{User-Agent}i"', + )