diff options
| author | Robert Honz <exislow+github@gmail.com> | 2024-12-13 10:14:41 +0100 |
|---|---|---|
| committer | Robert Honz <exislow+github@gmail.com> | 2024-12-13 10:14:41 +0100 |
| commit | 80419c727e95c7e3e0f21c30f71260cac629a88c (patch) | |
| tree | 95a853f268ee0ee53e10b8144bf409e952e75b45 | |
| parent | fb5022a0dfbdec14235072c68c0437b67248efee (diff) | |
| download | tidal-dl-ng-80419c727e95c7e3e0f21c30f71260cac629a88c.tar.gz | |
🛠️ Fixed `.get_stream()` not available for videos. Fixes #267
| -rw-r--r-- | tidal_dl_ng/download.py | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/tidal_dl_ng/download.py b/tidal_dl_ng/download.py index a5f528b..9098ed1 100644 --- a/tidal_dl_ng/download.py +++ b/tidal_dl_ng/download.py @@ -98,8 +98,8 @@ class Download: def _download( self, media: Track | Video, - stream_manifest: StreamManifest, path_file: pathlib.Path, + stream_manifest: StreamManifest | None = None, ) -> (bool, pathlib.Path): media_name: str = name_builder_item(media) urls: [str] @@ -325,23 +325,25 @@ class Download: self.adjust_quality_video(quality_video) if quality_video else quality_video ) - try: - media_stream: Stream = media.get_stream() - stream_manifest: StreamManifest = media_stream.get_stream_manifest() - except TooManyRequests: - self.fn_logger.exception( - f"Too many requests against TIDAL backend. Skipping '{name_builder_item(media)}'. " - f"Consider to activate delay between downloads." - ) + stream_manifest: StreamManifest | None = None + + if isinstance(media, Track): + try: + media_stream: Stream = media.get_stream() + stream_manifest = media_stream.get_stream_manifest() + except TooManyRequests: + self.fn_logger.exception( + f"Too many requests against TIDAL backend. Skipping '{name_builder_item(media)}'. " + f"Consider to activate delay between downloads." + ) - return False, "" - except Exception: - self.fn_logger.exception(f"Something went wrong. Skipping '{name_builder_item(media)}'.") + return False, "" + except Exception: + self.fn_logger.exception(f"Something went wrong. Skipping '{name_builder_item(media)}'.") - return False, "" + return False, "" - if isinstance(media, Track): - file_extension = media_stream.get_stream_manifest().file_extension + file_extension = stream_manifest.file_extension if self.settings.data.extract_flac and ( stream_manifest.codecs.upper() == Codec.FLAC and file_extension != AudioExtensions.FLAC |
