summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorexislow <exislow@users.noreply.github.com>2025-08-12 09:57:02 +0200
committerGitHub <noreply@github.com>2025-08-12 09:57:02 +0200
commitc825cc2587a20994c53b9c61cd3ee769759eae25 (patch)
tree1a44e2ee75cbabc635d2b2b2183424d4a8e9e862
parent6596bca703b7c3a8222410b014e74d98c9761a03 (diff)
parentbf2f5055a0cb4a5930326700aeca3a47128fa2b2 (diff)
downloadtidal-dl-ng-c825cc2587a20994c53b9c61cd3ee769759eae25.tar.gz
Merge pull request #496 from exislow/469-add-upc-when-available
feat(metadata): add UPC support for metadata tagging
-rw-r--r--tidal_dl_ng/download.py1
-rw-r--r--tidal_dl_ng/metadata.py6
2 files changed, 7 insertions, 0 deletions
diff --git a/tidal_dl_ng/download.py b/tidal_dl_ng/download.py
index ba604b6..ec53b1f 100644
--- a/tidal_dl_ng/download.py
+++ b/tidal_dl_ng/download.py
@@ -1211,6 +1211,7 @@ class Download:
track_peak_amplitude=media_stream.track_peak_amplitude,
url_share=track.share_url if track.share_url else "",
replay_gain_write=self.settings.data.metadata_replay_gain,
+ upc=track.album.upc if track.album and track.album.upc else "",
)
m.save()
diff --git a/tidal_dl_ng/metadata.py b/tidal_dl_ng/metadata.py
index ed582a9..afb9030 100644
--- a/tidal_dl_ng/metadata.py
+++ b/tidal_dl_ng/metadata.py
@@ -28,6 +28,7 @@ class Metadata:
track_peak_amplitude: float
url_share: str
replay_gain_write: bool
+ upc: str
m: mutagen.mp4.MP4 | mutagen.mp4.MP4 | mutagen.flac.FLAC
def __init__(
@@ -53,6 +54,7 @@ class Metadata:
track_peak_amplitude: float = 1.0,
url_share: str = "",
replay_gain_write: bool = True,
+ upc: str = "",
):
self.path_file = path_file
self.title = title
@@ -75,6 +77,7 @@ class Metadata:
self.track_peak_amplitude = track_peak_amplitude
self.url_share = url_share
self.replay_gain_write = replay_gain_write
+ self.upc = upc
self.m: mutagen.FileType = mutagen.File(self.path_file)
def _cover(self) -> bool:
@@ -131,6 +134,7 @@ class Metadata:
self.m.tags["ISRC"] = self.isrc
self.m.tags["LYRICS"] = self.lyrics
self.m.tags["URL"] = self.url_share
+ self.m.tags["UPC"] = self.upc
if self.replay_gain_write:
self.m.tags["REPLAYGAIN_ALBUM_GAIN"] = str(self.album_replay_gain)
@@ -153,6 +157,7 @@ class Metadata:
self.m.tags.add(TSRC(encoding=3, text=self.isrc))
self.m.tags.add(USLT(encoding=3, lang="eng", desc="desc", text=self.lyrics))
self.m.tags.add(WOAS(encoding=3, text=self.isrc))
+ self.m.tags.add(TXXX(encoding=3, desc="UPC", text=self.upc))
if self.replay_gain_write:
self.m.tags.add(TXXX(encoding=3, desc="REPLAYGAIN_ALBUM_GAIN", text=str(self.album_replay_gain)))
@@ -174,6 +179,7 @@ class Metadata:
self.m.tags["\xa9lyr"] = self.lyrics
self.m.tags["isrc"] = self.isrc
self.m.tags["\xa9url"] = self.url_share
+ self.m.tags["----:com.apple.iTunes:UPC"] = self.upc.encode("utf-8")
if self.replay_gain_write:
self.m.tags["----:com.apple.iTunes:REPLAYGAIN_ALBUM_GAIN"] = str(self.album_replay_gain).encode("utf-8")