diff --git a/src/web.py b/src/web.py index 8126adf..64479fa 100644 --- a/src/web.py +++ b/src/web.py @@ -24,18 +24,20 @@ def web(settings, patterns): @app.post("/settings") def settings_handler(request): + # Keep the POST handler for compatibility or alternative usage if needed + # For WebSocket updates, the /ws handler is now primary return set_settings(request.body.decode('utf-8'), settings, patterns) - - @app.route("/external") + @app.route("/ws") @with_websocket async def ws(request, ws): - patterns.select("external") while True: data = await ws.receive() - print(data) - for i in range(min(patterns.num_leds, int(len(data)/3))): - patterns.set(i, (data[i*3], data[i*3+1], data[i*3+2])) - patterns.write() + if data: + # Process the received data + _, status_code = set_settings(data, settings, patterns) + await ws.send(status_code) + else: + break return app