From 2dff8e4e0efd4820371804e9fcb05fae7374cc21 Mon Sep 17 00:00:00 2001 From: Hellow <74311245+HeIIow2@users.noreply.github.com> Date: Fri, 29 Dec 2023 20:18:34 +0100 Subject: [PATCH] fix: creation of lyrics --- src/music_kraken/objects/lyrics.py | 22 +++++----------------- src/music_kraken/objects/song.py | 4 +--- src/music_kraken/pages/bandcamp.py | 4 +--- 3 files changed, 7 insertions(+), 23 deletions(-) diff --git a/src/music_kraken/objects/lyrics.py b/src/music_kraken/objects/lyrics.py index e070bbf..1d0c0c9 100644 --- a/src/music_kraken/objects/lyrics.py +++ b/src/music_kraken/objects/lyrics.py @@ -18,23 +18,11 @@ class Lyrics(OuterProxy): text: FormattedText language: Language + source_collection: SourceCollection + _default_factories = { "text": FormattedText, - "language": Language.by_alpha_2("en"), + "language": lambda: Language.by_alpha_2("en"), + + "source_collection": SourceCollection, } - - def __init__( - self, - text: FormattedText, - language: pycountry.Languages = pycountry.languages.get(alpha_2="en"), - _id: str = None, - dynamic: bool = False, - source_list: List[Source] = None, - **kwargs - ) -> None: - super().__init__(_id=_id, dynamic=dynamic, **kwargs) - - self.text: FormattedText = text or FormattedText() - self.language: pycountry.Languages = language - - self.source_collection: SourceCollection = SourceCollection(source_list) diff --git a/src/music_kraken/objects/song.py b/src/music_kraken/objects/song.py index 3dfc982..87db238 100644 --- a/src/music_kraken/objects/song.py +++ b/src/music_kraken/objects/song.py @@ -290,9 +290,7 @@ class Album(Base): @property def options(self) -> List[P]: - options = self.artist_collection.shallow_list - options.append(self) - options.extend(self.song_collection) + options = [*self.artist_collection, self, *self.song_collection] return options diff --git a/src/music_kraken/pages/bandcamp.py b/src/music_kraken/pages/bandcamp.py index 4cfb706..c0d1bb3 100644 --- a/src/music_kraken/pages/bandcamp.py +++ b/src/music_kraken/pages/bandcamp.py @@ -306,9 +306,7 @@ class Bandcamp(Page): track_lyrics = soup.find("div", {"class": "lyricsText"}) if track_lyrics: self.LOGGER.debug(" Lyrics retrieved..") - return [Lyrics(FormattedText( - html=track_lyrics.prettify() - ), pycountry.languages.get(alpha_2="en"))] + return [Lyrics(text=FormattedText(html=track_lyrics.prettify()))] return []