summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorexislow <exislow@users.noreply.github.com>2025-09-07 19:38:09 +0200
committerGitHub <noreply@github.com>2025-09-07 19:38:09 +0200
commitebe7ec783460fbf2754780f2e0b3d3622e2d01ef (patch)
treedcf279e2f36fdece50df5570527c74744046c703
parent018f477f0a22eeab5f336f2dfdae729619ac3628 (diff)
parent8f8e8e0a78c750f222d887c1854b7f15db5ceb23 (diff)
downloadtidal-dl-ng-ebe7ec783460fbf2754780f2e0b3d3622e2d01ef.tar.gz
Merge pull request #530 from exislow/526-error-while-downloading-songs-block-is-too-long-to-write
fix(download): 🐛 adjust cover image handling to prevent metadata size…
-rw-r--r--tidal_dl_ng/download.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/tidal_dl_ng/download.py b/tidal_dl_ng/download.py
index 56c3099..f02e096 100644
--- a/tidal_dl_ng/download.py
+++ b/tidal_dl_ng/download.py
@@ -1184,15 +1184,23 @@ class Download:
if lyrics and self.settings.data.lyrics_file:
path_lyrics = self.lyrics_to_file(path_media.parent, lyrics)
+ cover_dimension = self.settings.data.metadata_cover_dimension
+
if self.settings.data.metadata_cover_embed or (self.settings.data.cover_album_file and is_parent_album):
- cover_dimension = self.settings.data.metadata_cover_dimension
+ # Do not write CoverDimensions.PxORIGIN to metadata, since it can exceed max metadata file size (>16Mb)
url_cover = track.album.image(
- int(cover_dimension) if cover_dimension != CoverDimensions.PxORIGIN else cover_dimension
+ int(cover_dimension) if cover_dimension != CoverDimensions.PxORIGIN else int(CoverDimensions.Px1280)
)
cover_data = self.cover_data(url=url_cover)
if cover_data and self.settings.data.cover_album_file and is_parent_album:
- path_cover = self.cover_to_file(path_media.parent, cover_data)
+ if cover_dimension == CoverDimensions.PxORIGIN:
+ url_cover_album_file = track.album.image(CoverDimensions.PxORIGIN)
+ cover_data_album_file = self.cover_data(url=url_cover_album_file)
+ else:
+ cover_data_album_file = cover_data
+
+ path_cover = self.cover_to_file(path_media.parent, cover_data_album_file)
# `None` values are not allowed.
m: Metadata = Metadata(