From 25eacfbe6e13be72a9989ac4186dd2064d44ef03 Mon Sep 17 00:00:00 2001 From: Lars Noack Date: Thu, 11 Apr 2024 13:58:06 +0200 Subject: [PATCH] feat: improved option string of songs --- music_kraken/objects/song.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/music_kraken/objects/song.py b/music_kraken/objects/song.py index 2f6c0b7..a7b50dc 100644 --- a/music_kraken/objects/song.py +++ b/music_kraken/objects/song.py @@ -156,10 +156,14 @@ class Song(Base): @property def option_string(self) -> str: - return f"{self.__repr__()} " \ - f"from Album({OPTION_STRING_DELIMITER.join(album.title for album in self.album_collection)}) " \ - f"by Artist({OPTION_STRING_DELIMITER.join(artist.name for artist in self.main_artist_collection)}) " \ - f"feat. Artist({OPTION_STRING_DELIMITER.join(artist.name for artist in self.feature_artist_collection)})" + r = f"{self.__repr__()}" + if not self.album_collection.empty: + r += f" from Album({OPTION_STRING_DELIMITER.join(album.title for album in self.album_collection)})" + if not self.main_artist_collection.empty: + r += f" by Artist({OPTION_STRING_DELIMITER.join(artist.name for artist in self.main_artist_collection)})" + if not self.feature_artist_collection.empty: + r += f" feat. Artist({OPTION_STRING_DELIMITER.join(artist.name for artist in self.feature_artist_collection)})" + return r @property def options(self) -> List[P]: