Kaynağa Gözat

Convert /services list response to dict keyed by 'key'

ZiB 4 ay önce
ebeveyn
işleme
44dd7e25c1

+ 3 - 1
custom_components/room_cal_ha/backends/api.py

@@ -86,8 +86,10 @@ class RoomCalApiBackend(ReservationBackend):
           raw = await resp.json()
           raw = await resp.json()
           if isinstance(raw, dict):
           if isinstance(raw, dict):
             services = raw
             services = raw
+          elif isinstance(raw, list):
+            services = {item["key"]: item for item in raw if "key" in item}
           else:
           else:
-            _LOGGER.warning("Unexpected /services response (expected dict, got %s)", type(raw).__name__)
+            _LOGGER.warning("Unexpected /services response (got %s)", type(raw).__name__)
     except Exception as exc:
     except Exception as exc:
       _LOGGER.warning("Failed to fetch /services: %s", exc)
       _LOGGER.warning("Failed to fetch /services: %s", exc)