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
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:
"""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"]
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,