summaryrefslogtreecommitdiff
path: root/tidal_dl_ng
diff options
context:
space:
mode:
authorRobert Honz <exislow+github@gmail.com>2025-10-17 15:40:28 +0200
committerRobert Honz <exislow+github@gmail.com>2025-10-17 15:40:28 +0200
commitc8cb43adf73e7d8dbcb8ee58bfb2c74d6a2ea7e9 (patch)
treeffc6bfced4bbbdc95818d69b34a7f97425195c9f /tidal_dl_ng
parent07494eddf32aee915d459710b4146048c0d0733f (diff)
downloadtidal-dl-ng-c8cb43adf73e7d8dbcb8ee58bfb2c74d6a2ea7e9.tar.gz
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.
Diffstat (limited to 'tidal_dl_ng')
-rw-r--r--tidal_dl_ng/constants.py1
-rw-r--r--tidal_dl_ng/download.py8
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()