From 6b004564bfa502f2e194f95936080ca50d1d2ebe Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Wed, 25 Mar 2015 21:00:38 +0100 Subject: [PATCH] fixed false positive deletion warning on library updates in kodimonitor thread --- resources/lib/KodiMonitor.py | 20 +++++++++++--------- resources/lib/LibrarySync.py | 2 ++ 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/resources/lib/KodiMonitor.py b/resources/lib/KodiMonitor.py index 213dba1d..b29194b5 100644 --- a/resources/lib/KodiMonitor.py +++ b/resources/lib/KodiMonitor.py @@ -45,15 +45,17 @@ class Kodi_Monitor(xbmc.Monitor): if jsondata.get("type") == "episode": episodeid = jsondata.get("id") WINDOW = xbmcgui.Window( 10000 ) - MBlist = WINDOW.getProperty("episodeid" + str(episodeid)).split(";;") - url='http://' + server + '/mediabrowser/Items?Ids=' + MBlist[1] + '&format=json' - data = DownloadUtils().downloadUrl(url=url, suppress=True, popup=0) - if data != "": - return_value = xbmcgui.Dialog().yesno("Confirm Delete", "Delete: "+ MBlist[0] + "\n on Emby Server?\nEmbyID: " + MBlist[1]) - if return_value: - url='http://' + server + '/mediabrowser/Items/' + MBlist[1] - xbmc.log('Deleting via URL: ' + url) - DownloadUtils().downloadUrl(url, type="DELETE") + #ignore if the item has just been deleted by the background sync + if not WINDOW.getProperty(episodeid,"deleted"): + MBlist = WINDOW.getProperty("episodeid" + str(episodeid)).split(";;") + url='http://' + server + '/mediabrowser/Items?Ids=' + MBlist[1] + '&format=json' + data = DownloadUtils().downloadUrl(url=url, suppress=True, popup=0) + if data != "": + return_value = xbmcgui.Dialog().yesno("Confirm Delete", "Delete: "+ MBlist[0] + "\n on Emby Server?\nEmbyID: " + MBlist[1]) + if return_value: + url='http://' + server + '/mediabrowser/Items/' + MBlist[1] + xbmc.log('Deleting via URL: ' + url) + DownloadUtils().downloadUrl(url, type="DELETE") diff --git a/resources/lib/LibrarySync.py b/resources/lib/LibrarySync.py index e939e9d6..d2411c7f 100644 --- a/resources/lib/LibrarySync.py +++ b/resources/lib/LibrarySync.py @@ -215,6 +215,7 @@ class LibrarySync(): allEmbyMovieIds = set(allEmbyMovieIds) for kodiId in allKodiIds: if not kodiId in allEmbyMovieIds: + WINDOW.setProperty(kodiId,"deleted") WriteKodiDB().deleteMovieFromKodiLibrary(kodiId) cleanNeeded = True totalItemsDeleted += 1 @@ -567,6 +568,7 @@ class LibrarySync(): allMB3EpisodeIds = set(allMB3EpisodeIds) for episode in allKodiEpisodeIds: if episode.get('episodeid') not in allMB3EpisodeIds: + WINDOW.setProperty(episode.get('episodeid'),"deleted") WriteKodiDB().deleteEpisodeFromKodiLibrary(episode.get('episodeid'),episode.get('tvshowid')) cleanneeded = True totalItemsDeleted += 1