summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Honz <exislow+github@gmail.com>2024-12-13 10:14:41 +0100
committerRobert Honz <exislow+github@gmail.com>2024-12-13 10:14:41 +0100
commit80419c727e95c7e3e0f21c30f71260cac629a88c (patch)
tree95a853f268ee0ee53e10b8144bf409e952e75b45
parentfb5022a0dfbdec14235072c68c0437b67248efee (diff)
downloadtidal-dl-ng-80419c727e95c7e3e0f21c30f71260cac629a88c.tar.gz
🛠️ Fixed `.get_stream()` not available for videos. Fixes #267
-rw-r--r--tidal_dl_ng/download.py32
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