From c8cb43adf73e7d8dbcb8ee58bfb2c74d6a2ea7e9 Mon Sep 17 00:00:00 2001 From: Robert Honz Date: Fri, 17 Oct 2025 15:40:28 +0200 Subject: [PATCH] =?UTF-8?q?feat(metadata):=20=E2=9C=A8=20add=20explicit=20?= =?UTF-8?q?track=20metadata=20handling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Introduced `METADATA_EXPLICIT` constant for explicit track indication. * Updated `Download` class to append explicit metadata to track titles. --- tidal_dl_ng/constants.py | 1 + tidal_dl_ng/download.py | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/tidal_dl_ng/constants.py b/tidal_dl_ng/constants.py index 0630137..f2f774b 100644 --- a/tidal_dl_ng/constants.py +++ b/tidal_dl_ng/constants.py @@ -13,6 +13,7 @@ PLAYLIST_EXTENSION: str = ".m3u" PLAYLIST_PREFIX: str = "_" FILENAME_LENGTH_MAX: int = 255 FORMAT_TEMPLATE_EXPLICIT: str = " (Explicit)" +METADATA_EXPLICIT: str = " 🅴" class QualityVideo(StrEnum): diff --git a/tidal_dl_ng/download.py b/tidal_dl_ng/download.py index 8c51e76..4ac2b14 100644 --- a/tidal_dl_ng/download.py +++ b/tidal_dl_ng/download.py @@ -35,6 +35,7 @@ from tidal_dl_ng.constants import ( CHUNK_SIZE, COVER_NAME, EXTENSION_LYRICS, + METADATA_EXPLICIT, METADATA_LOOKUP_UPC, PLAYLIST_EXTENSION, PLAYLIST_PREFIX, @@ -1226,6 +1227,9 @@ class Download: metadata_target_upc = MetadataTargetUPC(self.settings.data.metadata_target_upc) target_upc: dict[str, str] = METADATA_LOOKUP_UPC[metadata_target_upc] + explicit: bool = track.explicit if hasattr(track, "explicit") else False + title = name_builder_title(track) + title += METADATA_EXPLICIT if explicit else "" # `None` values are not allowed. m: Metadata = Metadata( @@ -1234,7 +1238,7 @@ class Download: lyrics=lyrics_synced, lyrics_unsynced=lyrics_unsynced, copy_right=copy_right, - title=name_builder_title(track), + title=title, artists=name_builder_artist(track, delimiter=self.settings.data.metadata_delimiter_artist), album=track.album.name if track.album else "", tracknumber=track.track_num, @@ -1252,7 +1256,7 @@ class Download: url_share=track.share_url if track.share_url and self.settings.data.metadata_write_url else "", replay_gain_write=self.settings.data.metadata_replay_gain, upc=track.album.upc if track.album and track.album.upc else "", - explicit=track.explicit if hasattr(track, "explicit") else False, + explicit=explicit, ) m.save()