from typing import Any, cast
from aiohttp import ClientSession, ClientTimeout
+from music_assistant_models.errors import MediaNotFoundError
from music_assistant_models.streamdetails import StreamDetails
from yarl import URL
msg = "Received an error from API"
raise DeezerGWError(msg, error)
- return result_json["data"][0]["media"][0], song_data
+ media_list = result_json["data"][0].get("media", [])
+ if not media_list:
+ raise MediaNotFoundError(f"No media available for track {track_id}")
+
+ return media_list[0], song_data
async def log_listen(
self, next_track: str | None = None, last_track: StreamDetails | None = None