feat(metadata): ✨ add explicit track metadata handling

* Introduced `METADATA_EXPLICIT` constant for explicit track indication.
* Updated `Download` class to append explicit metadata to track titles.
This commit is contained in:
Robert Honz
2025-10-17 15:40:28 +02:00
parent 07494eddf3
commit c8cb43adf7
2 changed files with 7 additions and 2 deletions
+1
View File
@@ -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):
+6 -2
View File
@@ -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()