diff options
| author | Robert Honz <exislow+github@gmail.com> | 2025-08-12 09:55:34 +0200 |
|---|---|---|
| committer | Robert Honz <exislow+github@gmail.com> | 2025-08-12 09:55:34 +0200 |
| commit | bf2f5055a0cb4a5930326700aeca3a47128fa2b2 (patch) | |
| tree | 1a44e2ee75cbabc635d2b2b2183424d4a8e9e862 /tidal_dl_ng/metadata.py | |
| parent | 6596bca703b7c3a8222410b014e74d98c9761a03 (diff) | |
| download | tidal-dl-ng-bf2f5055a0cb4a5930326700aeca3a47128fa2b2.tar.gz | |
feat(metadata): add UPC support for metadata tagging
This update introduces support for handling UPCs (Universal Product Codes) in metadata processing. It ensures that UPC information is extracted, stored, and written to the appropriate metadata tags for various formats.
- ✨ **Feature**: Adds UPC field to metadata handling.
- 🛠️ **Enhancement**: Updates metadata initialization to include UPC.
- 🗂️ **Tagging**: Implements UPC writing for supported file formats.
- ✅ **Compatibility**: Ensures proper handling when UPC is absent.
This improvement enhances metadata completeness and compatibility with systems requiring UPC data.
Diffstat (limited to 'tidal_dl_ng/metadata.py')
| -rw-r--r-- | tidal_dl_ng/metadata.py | 6 |
1 files changed, 6 insertions, 0 deletions
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") |
