From 575a441e0621f15510c9d33b31b8c272e286e5cd Mon Sep 17 00:00:00 2001 From: digitalec Date: Mon, 7 Jun 2021 00:36:11 -0400 Subject: [PATCH 1/2] Handle exception when Single track is not available In situations where a Single is available but no tracks are available, catch IndexError to prevent crash. For error reproduction, album ID 70945092 will cause this IndexError exception to be raised. --- deemix/app/queuemanager.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/deemix/app/queuemanager.py b/deemix/app/queuemanager.py index 4547bf8..cf72242 100644 --- a/deemix/app/queuemanager.py +++ b/deemix/app/queuemanager.py @@ -92,7 +92,11 @@ class QueueManager: # If the album is a single download as a track if albumAPI['nb_tracks'] == 1: - return self.generateTrackQueueItem(dz, albumAPI['tracks']['data'][0]['id'], settings, bitrate, albumAPI=albumAPI) + try: + return self.generateTrackQueueItem(dz, albumAPI['tracks']['data'][0]['id'], settings, bitrate, albumAPI=albumAPI) + except IndexError as e: + e = str(e) + return QueueError("https://deezer.com/album/"+str(id), "Single not available") tracksArray = dz.gw.get_album_tracks(id) -- 2.25.1 From f6ad4b2b183d0b57453521336aee64ce51f523a1 Mon Sep 17 00:00:00 2001 From: digitalec Date: Mon, 7 Jun 2021 00:42:09 -0400 Subject: [PATCH 2/2] Added exception output to error message --- deemix/app/queuemanager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deemix/app/queuemanager.py b/deemix/app/queuemanager.py index cf72242..24def68 100644 --- a/deemix/app/queuemanager.py +++ b/deemix/app/queuemanager.py @@ -96,7 +96,7 @@ class QueueManager: return self.generateTrackQueueItem(dz, albumAPI['tracks']['data'][0]['id'], settings, bitrate, albumAPI=albumAPI) except IndexError as e: e = str(e) - return QueueError("https://deezer.com/album/"+str(id), "Single not available") + return QueueError("https://deezer.com/album/"+str(id), f"Single not available: {e}") tracksArray = dz.gw.get_album_tracks(id) -- 2.25.1