self, uri: str, force_refresh: bool = False, lazy: bool = True
) -> MediaItemType:
"""Fetch MediaItem by uri."""
+ if uri.startswith("http://") or uri.startswith("https://"):
+ raise MusicAssistantError(f"Not a valid Music Assistant uri: {uri}")
if "://" in uri:
provider = uri.split("://")[0]
item_id = uri.split("/")[-1]
# spotify new-style uri
provider, media_type, item_id = uri.split(":")
media_type = MediaType(media_type)
+ if media_type == MediaType.UNKNOWN:
+ raise MusicAssistantError(f"Not a valid Music Assistant uri: {uri}")
return await self.get_item(
item_id, provider, media_type, force_refresh=force_refresh, lazy=lazy
)
MusicAssistant,
)
from music_assistant.models.media_items import MediaType
- from music_assistant.models.player import Player, PlayerQueue, QueueItem
+ from music_assistant.models.player import Player
+ from music_assistant.models.player_queue import PlayerQueue, QueueItem
else:
MusicAssistant = "MusicAssistant"
item_id: str = ""
sort_index: int = 0
streamdetails: Optional[StreamDetails] = None
+ media_type: MediaType = MediaType.UNKNOWN
is_media_item: bool = False
def __post_init__(self):
uri=media_item.uri,
name=media_item.name,
duration=media_item.duration,
+ media_type=media_item.media_type,
is_media_item=True,
)