diff options
| author | Robert Honz <exislow+github@gmail.com> | 2025-09-07 19:37:39 +0200 |
|---|---|---|
| committer | Robert Honz <exislow+github@gmail.com> | 2025-09-07 19:37:39 +0200 |
| commit | 8f8e8e0a78c750f222d887c1854b7f15db5ceb23 (patch) | |
| tree | dcf279e2f36fdece50df5570527c74744046c703 /tidal_dl_ng | |
| parent | 018f477f0a22eeab5f336f2dfdae729619ac3628 (diff) | |
| download | tidal-dl-ng-8f8e8e0a78c750f222d887c1854b7f15db5ceb23.tar.gz | |
fix(download): 🐛 adjust cover image handling to prevent metadata size issues
* Prevent writing `CoverDimensions.PxORIGIN` to metadata to avoid exceeding max file size (>16Mb).
* Ensure correct cover image is used based on `cover_dimension` settings.
Diffstat (limited to 'tidal_dl_ng')
| -rw-r--r-- | tidal_dl_ng/download.py | 14 |
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( |
