From bbb6051fdd34fabf7565df480df66c128ffa4ef5 Mon Sep 17 00:00:00 2001 From: Robert Honz Date: Wed, 13 Mar 2024 06:38:13 +0100 Subject: ✨ Track media items will be re-created with album information. Path format refactored. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tidal_dl_ng/download.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'tidal_dl_ng/download.py') diff --git a/tidal_dl_ng/download.py b/tidal_dl_ng/download.py index 7490753..82e1bee 100644 --- a/tidal_dl_ng/download.py +++ b/tidal_dl_ng/download.py @@ -156,20 +156,19 @@ class Download: def instantiate_media( self, - session: Session, media_type: type[MediaType.TRACK, MediaType.VIDEO, MediaType.ALBUM, MediaType.PLAYLIST, MediaType.MIX], id_media: str, - ) -> Track | Video: + ) -> Track | Video | Album | Playlist | Mix: if media_type == MediaType.TRACK: - media = Track(session, id_media) + media = self.session.track(id_media, with_album=True) elif media_type == MediaType.VIDEO: - media = Video(session, id_media) + media = self.session.video(id_media) elif media_type == MediaType.ALBUM: - media = Album(self.session, id_media) + media = self.session.album(id_media) elif media_type == MediaType.PLAYLIST: - media = Playlist(self.session, id_media) + media = self.session.playlist(id_media) elif media_type == MediaType.MIX: - media = Mix(self.session, id_media) + media = self.session.mix(id_media) else: raise MediaUnknown @@ -186,7 +185,9 @@ class Download: ) -> (bool, str): # If no media instance is provided, we need to create the media instance. if media_id and media_type: - media = self.instantiate_media(self.session, media_type, media_id) + media = self.instantiate_media(media_type, media_id) + elif isinstance(media, Track): + media = self.session.track(media.id, with_album=True) elif not media: raise MediaMissing @@ -342,7 +343,7 @@ class Download: ): # If no media instance is provided, we need to create the media instance. if media_id and media_type: - media = self.instantiate_media(self.session, media_type, media_id) + media = self.instantiate_media(media_type, media_id) elif not media: raise MediaMissing -- cgit v1.3.1