diff --git a/resources/lib/entrypoint.py b/resources/lib/entrypoint.py index 58053e1f..8654d36d 100644 --- a/resources/lib/entrypoint.py +++ b/resources/lib/entrypoint.py @@ -85,7 +85,7 @@ def doMainListing(): addDirectoryItem("Network credentials", "plugin://plugin.video.emby/?mode=passwords") addDirectoryItem("Settings", "plugin://plugin.video.emby/?mode=settings") addDirectoryItem("Add user to session", "plugin://plugin.video.emby/?mode=adduser") - addDirectoryItem("Refresh Emby playlists", "plugin://plugin.video.emby/?mode=refreshplaylist") + addDirectoryItem("Refresh Emby playlists/nodes", "plugin://plugin.video.emby/?mode=refreshplaylist") addDirectoryItem("Perform manual sync", "plugin://plugin.video.emby/?mode=manualsync") addDirectoryItem("Repair local database (force update all content)", "plugin://plugin.video.emby/?mode=repair") addDirectoryItem("Perform local database reset (full resync)", "plugin://plugin.video.emby/?mode=reset") @@ -382,19 +382,22 @@ def refreshPlaylist(): try: # First remove playlists utils.deletePlaylists() + # Remove video nodes + utils.deleteNodes() # Refresh views lib.refreshViews() dialog.notification( heading="Emby for Kodi", - message="Emby playlist refreshed", + message="Emby playlists/nodes refreshed", icon="special://home/addons/plugin.video.emby/icon.png", time=1000, sound=False) + except Exception as e: - utils.logMsg("EMBY", "Refresh playlist failed: %s" % e, 1) + utils.logMsg("EMBY", "Refresh playlists/nodes failed: %s" % e, 1) dialog.notification( heading="Emby for Kodi", - message="Emby playlist refresh failed", + message="Emby playlists/nodes refresh failed", icon=xbmcgui.NOTIFICATION_ERROR, time=1000, sound=False) diff --git a/resources/lib/utils.py b/resources/lib/utils.py index 7d9bc236..7431c4a2 100644 --- a/resources/lib/utils.py +++ b/resources/lib/utils.py @@ -140,15 +140,7 @@ def reset(): deletePlaylists() # Clean up the video nodes - import shutil - path = xbmc.translatePath("special://profile/library/video/").decode('utf-8') - dirs, files = xbmcvfs.listdir(path) - for dir in dirs: - if dir.decode('utf-8').startswith('Emby'): - shutil.rmtree("%s%s" % (path, dir.decode('utf-8'))) - for file in files: - if file.decode('utf-8').startswith('emby'): - xbmcvfs.delete("%s%s" % (path, file.decode('utf-8'))) + deleteNodes() # Wipe the kodi databases logMsg("EMBY", "Resetting the Kodi video database.") @@ -502,4 +494,17 @@ def deletePlaylists(): dirs, files = xbmcvfs.listdir(path) for file in files: if file.decode('utf-8').startswith('Emby'): - xbmcvfs.delete("%s%s" % (path, file)) \ No newline at end of file + xbmcvfs.delete("%s%s" % (path, file)) + +def deleteNodes(): + + # Clean up video nodes + import shutil + path = xbmc.translatePath("special://profile/library/video/").decode('utf-8') + dirs, files = xbmcvfs.listdir(path) + for dir in dirs: + if dir.decode('utf-8').startswith('Emby'): + shutil.rmtree("%s%s" % (path, dir.decode('utf-8'))) + for file in files: + if file.decode('utf-8').startswith('emby'): + xbmcvfs.delete("%s%s" % (path, file.decode('utf-8'))) \ No newline at end of file