From 6035ff49b89cdc4adb286f3a9b6a726dbb5a0860 Mon Sep 17 00:00:00 2001 From: warwickh Date: Fri, 2 Jul 2021 17:37:44 +1000 Subject: [PATCH] Avoid errors in walk functions --- main.py | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/main.py b/main.py index 4bb0893..84a81cf 100644 --- a/main.py +++ b/main.py @@ -642,9 +642,12 @@ def search(params): # Get items items = connection.search2(query=d) # Iterate through items - for item in items.get('searchResult2').get('song'): - entry = get_entry_track( item, params) - listing.append(entry) + try: + for item in items.get('searchResult2').get('song'): + entry = get_entry_track( item, params) + listing.append(entry) + except: + pass if len(listing) == 1: plugin.log('One single Media Folder found; do return listing from browse_indexes()...') @@ -1416,25 +1419,31 @@ def walk_playlists(): """ response = connection.getPlaylists() - - for child in response["playlists"]["playlist"]: - yield child - + try: + for child in response["playlists"]["playlist"]: + yield child + except: + yield from () def walk_playlist(playlist_id): """ Request Subsonic's playlist items and iterate over each item. """ response = connection.getPlaylist(playlist_id) - - for child in response["playlist"]["entry"]: - yield child + try: + for child in response["playlist"]["entry"]: + yield child + except: + yield from () def walk_folders(): response = connection.getMusicFolders() - - for child in response["musicFolders"]["musicFolder"]: - yield child + try: + for child in response["musicFolders"]["musicFolder"]: + yield child + except: + yield from () + def walk_directory(directory_id): """