From c4f11aef7cff87c1d48352c99d9dc5d88e0ef808 Mon Sep 17 00:00:00 2001
From: J0J0 T <jojo@peek-a-boo.at>
Date: Sun, 8 Aug 2021 22:41:34 +0200
Subject: [PATCH] fix KeyError in convertTrack and generateTrackItem

in Spotify class
---
 deemix/plugins/spotify.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/deemix/plugins/spotify.py b/deemix/plugins/spotify.py
index dd666e5..9b4344f 100644
--- a/deemix/plugins/spotify.py
+++ b/deemix/plugins/spotify.py
@@ -93,7 +93,10 @@ class Spotify(Plugin):
                     cachedTrack['id'] = trackID
                     cache['tracks'][link_id] = cachedTrack
                     self.saveCache(cache)
-            if cachedTrack['id'] != "0": return generateTrackItem(dz, cachedTrack['id'], bitrate)
+
+            if 'id' in cachedTrack and cachedTrack['id'] != "0":
+                return generateTrackItem(dz, cachedTrack['id'], bitrate)
+
         raise TrackNotOnDeezer(f"https://open.spotify.com/track/{link_id}")
 
     def generateAlbumItem(self, dz, link_id, bitrate):
@@ -209,7 +212,9 @@ class Spotify(Plugin):
                     cachedTrack['id'] = trackID
                     cache['tracks'][track['id']] = cachedTrack
                     self.saveCache(cache)
-            if cachedTrack['id'] != "0": trackAPI = dz.api.get_track(cachedTrack['id'])
+
+            if 'id' in cachedTrack and cachedTrack['id'] != "0":
+                trackAPI = dz.api.get_track(cachedTrack['id'])
 
         deezerTrack = None
         if not trackAPI: