Chore: Also mark unavailable queue item in sonos queue
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 6 Mar 2025 14:40:55 +0000 (15:40 +0100)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 6 Mar 2025 14:40:55 +0000 (15:40 +0100)
music_assistant/controllers/streams.py
music_assistant/providers/sonos/provider.py

index edf77ab86e5fca240d022d3c049584e9de76ec0f..411ed2a09e541642a5fd733845cd9a9d7f11905c 100644 (file)
@@ -313,6 +313,7 @@ class StreamsController(CoreController):
                 self.logger.error(
                     "Failed to get streamdetails for QueueItem %s: %s", queue_item_id, e
                 )
+                queue_item.available = False
                 raise web.HTTPNotFound(reason=f"No streamdetails for Queue item: {queue_item_id}")
         # work out output format/details
         output_format = await self.get_output_format(
index 61ce4ba5cf1aa3803e51de9c660d7b1ff50907d9..985aee11bbcc2cb15ada3e5eeb9cad56030b181b 100644 (file)
@@ -551,10 +551,9 @@ class SonosPlayerProvider(PlayerProvider):
 
     async def _parse_sonos_queue_item(self, queue_item: QueueItem) -> dict[str, Any]:
         """Parse a Sonos queue item to a PlayerMedia object."""
-        available = queue_item.media_item.available if queue_item.media_item else True
         return {
             "id": queue_item.queue_item_id,
-            "deleted": not available,
+            "deleted": not queue_item.available,
             "policies": {},
             "track": {
                 "type": "track",