comparison light_bridge.py @ 10:140633abfa2a

route colors from PUT to Light.setColor
author drewp@bigasterisk.com
date Sun, 28 Jan 2024 16:53:35 -0800
parents 05fb0319eb64
children 028ed39aa78f
comparison
equal deleted inserted replaced
9:9f427d8073c3 10:140633abfa2a
3 """ 3 """
4 import json 4 import json
5 import logging 5 import logging
6 import time 6 import time
7 from functools import partial 7 from functools import partial
8 from color import Color
8 9
9 from patchablegraph import PatchableGraph 10 from patchablegraph import PatchableGraph
10 from patchablegraph.handler import GraphEvents, StaticGraph 11 from patchablegraph.handler import GraphEvents, StaticGraph
11 from sse_starlette.sse import EventSourceResponse 12 from sse_starlette.sse import EventSourceResponse
12 from starlette.applications import Starlette 13 from starlette.applications import Starlette
21 log = logging.getLogger() 22 log = logging.getLogger()
22 23
23 24
24 async def output(lights: Lights, request: Request) -> JSONResponse: 25 async def output(lights: Lights, request: Request) -> JSONResponse:
25 light = lights.byName(request.query_params['light']) 26 light = lights.byName(request.query_params['light'])
27 body = (await request.body()).decode('utf8')
28 await light.setColor(Color.fromHex(body))
26 return JSONResponse(light.to_dict()) 29 return JSONResponse(light.to_dict())
27 30
28 31
29 async def table(lights: Lights, req: Request) -> EventSourceResponse: 32 async def table(lights: Lights, req: Request) -> EventSourceResponse:
30 33