From ffc399290f313f0e016528fd1321900f1b991252 Mon Sep 17 00:00:00 2001 From: Danielle McLean Date: Sat, 2 Dec 2023 14:47:50 +1100 Subject: [PATCH] Safely cache artwork for tracks without expected tags --- src/mpd_now_playable/mpd/artwork_cache.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mpd_now_playable/mpd/artwork_cache.py b/src/mpd_now_playable/mpd/artwork_cache.py index febc600..b4fad7c 100644 --- a/src/mpd_now_playable/mpd/artwork_cache.py +++ b/src/mpd_now_playable/mpd/artwork_cache.py @@ -7,7 +7,9 @@ CACHE_TTL = 60 * 10 # ten minutes def calc_album_key(song: CurrentSongResponse) -> str: - return f'{song["albumartist"]}:-:-:{song["album"]}' + artist = song.get("albumartist", song.get("artist", "Unknown Artist")) + album = song.get("album", "Unknown Album") + return f"{artist}:-:-:{album}" def calc_track_key(song: CurrentSongResponse) -> str: @@ -16,8 +18,8 @@ def calc_track_key(song: CurrentSongResponse) -> str: class MpdArtworkCache: mpd: MpdStateHandler - album_cache: 'Cache[bytes | None]' - track_cache: 'Cache[bytes | None]' + album_cache: "Cache[bytes | None]" + track_cache: "Cache[bytes | None]" def __init__(self, mpd: MpdStateHandler): self.mpd = mpd