From e3e7aea959111049753714d59414fb3a7d85b39e Mon Sep 17 00:00:00 2001 From: Kur01234 Date: Wed, 8 May 2024 12:27:56 +0200 Subject: [PATCH] fix for lyrics --- music_kraken/audio/metadata.py | 8 +++++++- music_kraken/objects/formatted_text.py | 2 +- music_kraken/objects/metadata.py | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/music_kraken/audio/metadata.py b/music_kraken/audio/metadata.py index 1d37419..b59bc98 100644 --- a/music_kraken/audio/metadata.py +++ b/music_kraken/audio/metadata.py @@ -1,5 +1,5 @@ import mutagen -from mutagen.id3 import ID3, Frame, APIC +from mutagen.id3 import ID3, Frame, APIC, USLT from pathlib import Path from typing import List import logging @@ -7,6 +7,7 @@ from PIL import Image from ..utils.config import logging_settings, main_settings from ..objects import Song, Target, Metadata +from ..objects.metadata import Mapping from ..connection import Connection LOGGER = logging_settings["tagging_logger"] @@ -105,6 +106,11 @@ def write_metadata_to_target(metadata: Metadata, target: Target, song: Song): data=converted_target.read_bytes(), ) ) + id3_object.frames.delall("USLT") + uslt_val = metadata.get_id3_value(Mapping.UNSYNCED_LYRICS) + id3_object.frames.add( + USLT(encoding=3, lang=u'eng', desc=u'desc', text=uslt_val) + ) mutagen_file = mutagen.File(target.file_path) diff --git a/music_kraken/objects/formatted_text.py b/music_kraken/objects/formatted_text.py index b1891b6..8f9fc52 100644 --- a/music_kraken/objects/formatted_text.py +++ b/music_kraken/objects/formatted_text.py @@ -32,7 +32,7 @@ class FormattedText: if self.is_empty and other.is_empty: return True - return self.doc == other.doc + return self.html == other.html @property def markdown(self) -> str: diff --git a/music_kraken/objects/metadata.py b/music_kraken/objects/metadata.py index dfda274..14ffb69 100644 --- a/music_kraken/objects/metadata.py +++ b/music_kraken/objects/metadata.py @@ -92,7 +92,7 @@ class Mapping(Enum): key = attribute.value if key[0] == 'T': - # a text fiel + # a text field return cls.get_text_instance(key, value) if key[0] == "W": # an url field @@ -381,7 +381,7 @@ class Metadata: """ if field.value[0].upper() == "T" and field.value.upper() != "TXXX": return self.NULL_BYTE.join(list_data) - + return list_data[0] def get_mutagen_object(self, field):