# HG changeset patch # User drewp@bigasterisk.com # Date 1706935929 28800 # Node ID cee43f5505770fcd7baadd7e8880e5fe019f725c # Parent ecbbf76318bb11476d9c9ab0d3bd38d63e3c35b0 add /lightNames diff -r ecbbf76318bb -r cee43f550577 light.py --- a/light.py Fri Feb 02 20:51:48 2024 -0800 +++ b/light.py Fri Feb 02 20:52:09 2024 -0800 @@ -162,6 +162,9 @@ self.notifyChanged() + def allNames(self) -> list[str]: + return list(self._d.keys()) + def byName(self, name: str) -> Light: return self._d[name] diff -r ecbbf76318bb -r cee43f550577 light_bridge.py --- a/light_bridge.py Fri Feb 02 20:51:48 2024 -0800 +++ b/light_bridge.py Fri Feb 02 20:52:09 2024 -0800 @@ -29,6 +29,9 @@ await light.setColor(Color.fromHex(body)) return JSONResponse(light.to_dict()) +async def lightNames(lights: Lights, request: Request) -> JSONResponse: + return JSONResponse({'lightNames': lights.allNames()}) + async def table(lights: Lights, req: Request) -> EventSourceResponse: @@ -52,6 +55,7 @@ app = Starlette(debug=True, routes=[ Route('/api/output', partial(output, lights), methods=['PUT']), + Route('/api/lightNames', partial(lightNames, lights), methods=['GET']), Route('/api/table', partial(table, lights)), Route('/api/graph', StaticGraph(graph)), Route('/api/graph/events', GraphEvents(graph)),