mirror of
https://github.com/glomatico/votify.git
synced 2026-10-24 00:32:32 +02:00
Attach playlist metadata and tags to media
This commit is contained in:
@@ -181,23 +181,26 @@ class SpotifyInterface:
|
||||
playlist_response["data"]["playlistV2"]["content"]["items"]
|
||||
)
|
||||
|
||||
for item in playlist_items:
|
||||
for index, item in enumerate(playlist_items):
|
||||
track_data = item["itemV2"]["data"]
|
||||
track_id = track_data["uri"].split(":")[-1]
|
||||
|
||||
if track_data["__typename"] == "Track":
|
||||
yield await self._get_track_media(
|
||||
media = await self._get_track_media(
|
||||
track_id=track_id,
|
||||
track_data=track_data,
|
||||
)
|
||||
elif track_data["__typename"] == "Episode":
|
||||
yield await self._get_episode_media(
|
||||
media = await self._get_episode_media(
|
||||
episode_id=track_id,
|
||||
episode_data=track_data,
|
||||
)
|
||||
else:
|
||||
raise VotifyMediaNotFoundException(track_id, track_data)
|
||||
|
||||
media.playlist_metadata = playlist_data
|
||||
media.playlist_tags = self.base.get_playlist_tags(playlist_data, index)
|
||||
|
||||
async def get_media_by_url(self, url: str) -> AsyncGenerator[SpotifyMedia, None]:
|
||||
url_info = self.base.parse_url_info(url)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user