From fc4a39ab8c35a0d388af8ffa93def52055ae210d Mon Sep 17 00:00:00 2001 From: Broque Thomas Date: Mon, 28 Jul 2025 16:10:15 -0700 Subject: [PATCH] good --- .../__pycache__/dashboard.cpython-312.pyc | Bin 71103 -> 70830 bytes ui/pages/dashboard.py | 9 ++++----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/ui/pages/__pycache__/dashboard.cpython-312.pyc b/ui/pages/__pycache__/dashboard.cpython-312.pyc index 2f87c4113880059badd8ca0745bed54f06a5edc8..a003b846ecfaff06c4dcbbda1c774c7752c4c8a6 100644 GIT binary patch delta 7252 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 G<@^KJjDvgt delta 7528 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 B#6kc7 diff --git a/ui/pages/dashboard.py b/ui/pages/dashboard.py index 4af881aa..40e97cad 100644 --- a/ui/pages/dashboard.py +++ b/ui/pages/dashboard.py @@ -149,12 +149,11 @@ class MetadataUpdateWorker(QThread): if self.artist_has_valid_photo(artist): return False - # Get the largest image from Spotify - if not spotify_artist.get('images'): + # Get the image URL from Spotify + if not spotify_artist.image_url: return False - largest_image = max(spotify_artist['images'], key=lambda x: x['width'] * x['height']) - image_url = largest_image['url'] + image_url = spotify_artist.image_url # Download and validate image response = requests.get(image_url, timeout=10) @@ -180,7 +179,7 @@ class MetadataUpdateWorker(QThread): for genre in (artist.genres or [])) # Get Spotify artist genres - spotify_genres = set(spotify_artist.get('genres', [])) + spotify_genres = set(spotify_artist.genres or []) # Get genres from all albums album_genres = set()