From: Marcel van der Veldt Date: Wed, 2 Aug 2023 10:38:15 +0000 (+0200) Subject: Fix for Tidal tracks listings (#814) X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=04b4e3ceb031ab448652ef74e99a0e7f9a7de16d;p=music-assistant-server.git Fix for Tidal tracks listings (#814) * Guard for unavailable sonos player * Fix Tidal tracks listing --- diff --git a/music_assistant/server/controllers/player_queues.py b/music_assistant/server/controllers/player_queues.py index 71bbb504..ac3703b6 100755 --- a/music_assistant/server/controllers/player_queues.py +++ b/music_assistant/server/controllers/player_queues.py @@ -16,7 +16,12 @@ from music_assistant.common.models.enums import ( QueueOption, RepeatMode, ) -from music_assistant.common.models.errors import MediaNotFoundError, MusicAssistantError, QueueEmpty +from music_assistant.common.models.errors import ( + MediaNotFoundError, + MusicAssistantError, + PlayerUnavailableError, + QueueEmpty, +) from music_assistant.common.models.media_items import MediaItemType, media_from_dict from music_assistant.common.models.player_queue import PlayerQueue from music_assistant.common.models.queue_item import QueueItem @@ -688,6 +693,8 @@ class PlayerQueuesController(CoreController): Raises QueueEmpty if there are no more tracks left. """ queue = self.get(queue_id) + if not queue: + raise PlayerUnavailableError(f"PlayerQueue {queue_id} is not available") if current_item_id: cur_index = self.index_by_id(queue_id, current_item_id) or 0 else: diff --git a/music_assistant/server/providers/sonos/__init__.py b/music_assistant/server/providers/sonos/__init__.py index 4a998f58..d164d1e0 100644 --- a/music_assistant/server/providers/sonos/__init__.py +++ b/music_assistant/server/providers/sonos/__init__.py @@ -155,6 +155,7 @@ class SonosPlayer: """Update attributes of the MA Player from soco.SoCo state.""" now = time.time() # generic attributes (speaker_info) + self.player.available = True self.player.name = self.speaker_info["zone_name"] self.player.volume_level = int(self.rendering_control_info["volume"]) self.player.volume_muted = self.rendering_control_info["mute"] diff --git a/music_assistant/server/providers/tidal/__init__.py b/music_assistant/server/providers/tidal/__init__.py index 945a732a..96f0899b 100644 --- a/music_assistant/server/providers/tidal/__init__.py +++ b/music_assistant/server/providers/tidal/__init__.py @@ -594,8 +594,8 @@ class TidalProvider(MusicProvider): url=f"http://www.tidal.com/tracks/{track_id}", available=track_obj.available, ) - } - ** extra_init_kwargs, + }, + **extra_init_kwargs, ) track.album = self.get_item_mapping( media_type=MediaType.ALBUM,