From d93ea86d723da2d649c9d76e9d8205a2f5b4a10f Mon Sep 17 00:00:00 2001 From: thekiwismarthome Date: Tue, 17 Feb 2026 20:13:17 +1300 Subject: [PATCH] duplicate websocket_search_products in handlers.py --- .../websocket/handlers.py | 39 +------------------ 1 file changed, 1 insertion(+), 38 deletions(-) diff --git a/custom_components/shopping_list_manager/websocket/handlers.py b/custom_components/shopping_list_manager/websocket/handlers.py index 37ff8e7..dc706da 100644 --- a/custom_components/shopping_list_manager/websocket/handlers.py +++ b/custom_components/shopping_list_manager/websocket/handlers.py @@ -82,7 +82,7 @@ async def websocket_subscribe( connection.subscriptions[msg["id"]] = lambda: [unsub() for unsub in unsubs] connection.send_message(websocket_api.result_message(msg["id"])) - + @websocket_api.websocket_command({ vol.Required("type"): "shopping_list_manager/items/increment", vol.Required("item_id"): str, @@ -653,43 +653,6 @@ def websocket_get_list_total( # PRODUCT HANDLERS # ============================================================================= -@websocket_api.websocket_command( - { - vol.Required("type"): WS_TYPE_PRODUCTS_SEARCH, - vol.Required("query"): str, - vol.Optional("limit", default=10): int, - vol.Optional("exclude_allergens", default=None): vol.Any(None, [str]), - vol.Optional("include_tags", default=None): vol.Any(None, [str]), - vol.Optional("substitution_group", default=None): vol.Any(None, str), - } -) -@callback -def websocket_search_products( - hass: HomeAssistant, - connection: websocket_api.ActiveConnection, - msg: Dict[str, Any], -) -> None: - """Handle search products command with enhanced filters.""" - storage = get_storage(hass) - - try: - results = storage.search_products( - query=msg["query"], - limit=msg.get("limit", 10), - exclude_allergens=msg.get("exclude_allergens"), - include_tags=msg.get("include_tags"), - substitution_group=msg.get("substitution_group"), - ) - - connection.send_result( - msg["id"], - {"products": [product.to_dict() for product in results]} - ) - except Exception as err: - _LOGGER.error("Error searching products: %s", err) - connection.send_error(msg["id"], "search_failed", str(err)) - - @websocket_api.websocket_command( { vol.Required("type"): "shopping_list_manager/products/substitutes",