From e5dfe685a12bf983ea3651454433839d86c9a132 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Fri, 1 Jul 2022 02:19:08 +0200 Subject: [PATCH] filter None objects from queue --- music_assistant/models/player_queue.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/music_assistant/models/player_queue.py b/music_assistant/models/player_queue.py index ea3e5b8e..800b6fac 100644 --- a/music_assistant/models/player_queue.py +++ b/music_assistant/models/player_queue.py @@ -501,7 +501,7 @@ class PlayerQueue: item.sort_index = index if self.settings.shuffle_enabled and len(queue_items) > 5: queue_items = random.sample(queue_items, len(queue_items)) - self._items = queue_items + self._items = [x for x in queue_items if x is not None] # filter None items await self.play_index(0, passive=passive) self.signal_update(True) @@ -537,7 +537,7 @@ class PlayerQueue: + queue_items + self._items[insert_at_index:] ) - + self._items = [x for x in queue_items if x is not None] # filter None items if offset in (0, cur_index): await self.play_index(insert_at_index, passive=passive) @@ -712,7 +712,7 @@ class PlayerQueue: async def _update_items(self, queue_items: List[QueueItem]) -> None: """Update the existing queue items, mostly caused by reordering.""" - self._items = queue_items + self._items = [x for x in queue_items if x is not None] # filter None items self.signal_update(True) def __get_queue_stream_index(self) -> Tuple[int, int]: @@ -755,7 +755,11 @@ class PlayerQueue: """Try to load the saved state from cache.""" if queue_cache := await self.mass.cache.get(f"queue_items.{self.queue_id}"): try: - self._items = [QueueItem.from_dict(x) for x in queue_cache["items"]] + self._items = [ + QueueItem.from_dict(x) + for x in queue_cache["items"] + if x is not None + ] self._current_index = queue_cache["current_index"] self._current_item_elapsed_time = queue_cache.get( "current_item_elapsed_time", 0 -- 2.34.1