From 10a60c9ca2e89656527d7da0b73f445df7587d9f Mon Sep 17 00:00:00 2001 From: mungai-njoroge Date: Sat, 24 Feb 2024 21:15:18 +0300 Subject: [PATCH] Update artist image download message and lyrics plugin URL --- app/lib/populate.py | 4 ++-- app/plugins/lyrics.py | 11 ++--------- app/settings.py | 3 --- app/store/artists.py | 6 +++--- app/utils/customlist.py | 4 ++++ 5 files changed, 11 insertions(+), 17 deletions(-) diff --git a/app/lib/populate.py b/app/lib/populate.py index 8ff502ec..dcb5a692 100644 --- a/app/lib/populate.py +++ b/app/lib/populate.py @@ -102,10 +102,10 @@ class Populate: CheckArtistImages(instance_key) except (RequestConnectionError, ReadTimeout) as e: log.error( - "Internet connection lost. Downloading artist images stopped." + "Internet connection lost. Downloading artist images suspended." ) else: - log.warning(f"No internet connection. Downloading artist images stopped!") + log.warning(f"No internet connection. Downloading artist images suspended!") # Re-process the new artist images. if tried_to_download_new_images: diff --git a/app/plugins/lyrics.py b/app/plugins/lyrics.py index 725d568b..330693ec 100644 --- a/app/plugins/lyrics.py +++ b/app/plugins/lyrics.py @@ -46,15 +46,14 @@ class LyricsProvider(LRCProvider): Musixmatch provider class """ - ROOT_URL = Keys.PLUGIN_LYRICS_ROOT_URL - get_token_trials = 0 + ROOT_URL = "https://apic-desktop.musixmatch.com/ws/1.1/" def __init__(self) -> None: super().__init__() self.token = None self.session.headers.update( { - "authority": Keys.PLUGIN_LYRICS_AUTHORITY, + "authority": "apic-desktop.musixmatch.com", "cookie": "AWSELBCORS=0; AWSELB=0", } ) @@ -86,10 +85,6 @@ class LyricsProvider(LRCProvider): return None def _get_token(self): - if self.get_token_trials > 3: - self.get_token_trials = 0 - return - # Check if token is cached and not expired plugin_path = Paths.get_lyrics_plugins_path() token_path = os.path.join(plugin_path, "token.json") @@ -116,12 +111,10 @@ class LyricsProvider(LRCProvider): res = res.json() if res["message"]["header"]["status_code"] == 401: time.sleep(13) - self.get_token_trials += 1 return self._get_token() new_token = res["message"]["body"]["user_token"] expiration_time = current_time + 600 # 10 minutes expiration - self.get_token_trials = 0 # Cache the new token self.token = new_token diff --git a/app/settings.py b/app/settings.py index 6bf0a00c..5a63d64b 100644 --- a/app/settings.py +++ b/app/settings.py @@ -234,9 +234,6 @@ class TCOLOR: class Keys: - # get last fm api key from os environment - PLUGIN_LYRICS_AUTHORITY = os.environ.get("apic-desktop.musixmatch.com") - PLUGIN_LYRICS_ROOT_URL = os.environ.get("https://apic-desktop.musixmatch.com/ws/1.1/") SWINGMUSIC_APP_VERSION = os.environ.get("SWINGMUSIC_APP_VERSION") @classmethod diff --git a/app/store/artists.py b/app/store/artists.py index b586cfdc..f640c169 100644 --- a/app/store/artists.py +++ b/app/store/artists.py @@ -25,9 +25,9 @@ class ArtistStore: ARTIST_LOAD_KEY = instance_key print("Loading artists... ", end="") - cls.artists.extend( - get_all_artists(TrackStore.tracks, AlbumStore.albums) - ) + cls.artists.clear() + + cls.artists.extend(get_all_artists(TrackStore.tracks, AlbumStore.albums)) print("Done!") for artist in ardb.get_all_artists(): if instance_key != ARTIST_LOAD_KEY: diff --git a/app/utils/customlist.py b/app/utils/customlist.py index 3ed57751..7d7663e7 100644 --- a/app/utils/customlist.py +++ b/app/utils/customlist.py @@ -7,8 +7,12 @@ class CustomList(list): def __getitem__(self, index): # Do some shared memory stuff here + # print the length of the list + # print(f"__getitem__ Length of the list: {len(self)}") return super().__getitem__(index) def __iter__(self) -> Iterator: # Do some shared memory stuff here + # print the length of the list + # print(f"__iter__ Length of the list: {len(self)}") return super().__iter__()