diff --git a/resources/lib/Utils.py b/resources/lib/Utils.py index 6d6d5309..99de0d63 100644 --- a/resources/lib/Utils.py +++ b/resources/lib/Utils.py @@ -154,9 +154,17 @@ def removeDirectory(path): def reset(): + WINDOW = xbmcgui.Window( 10000 ) return_value = xbmcgui.Dialog().yesno("Warning", "Are you sure you want to reset your local database?") + if return_value == 0: return + + # Ask if user information should be deleted too. + return_user = xbmcgui.Dialog().yesno("Warning", "Do you wish to erase your saved Emby user information?") + + if return_user == 1: + WINDOW.setProperty("EraseUserInfo", "true") # first stop any db sync WINDOW = xbmcgui.Window( 10000 ) @@ -189,6 +197,6 @@ def reset(): WINDOW.setProperty("SyncInstallRunDone", "false") dialog = xbmcgui.Dialog() - dialog.ok('Emby Reset', 'Database reset has completed, kodi will now restart to apply the changes.') + dialog.ok('Emby Reset', 'Database reset has completed, Kodi will now restart to apply the changes.') xbmc.executebuiltin("RestartApp") diff --git a/service.py b/service.py index 95b32aff..82024429 100644 --- a/service.py +++ b/service.py @@ -1,6 +1,8 @@ import xbmcaddon import xbmc import xbmcgui +import xbmcvfs + import os import threading import json @@ -118,7 +120,7 @@ class Service(): xbmc.log("Doing_Db_Sync: syncDatabase (Finished) " + str(libSync)) countSync = librarySync.updatePlayCounts() xbmc.log("Doing_Db_Sync: updatePlayCounts (Finished) " + str(countSync)) - + xbmc.executebuiltin("UpdateLibrary(video)") if(libSync and countSync): startupComplete = True else: @@ -133,9 +135,16 @@ class Service(): # If user reset library database. WINDOW = xbmcgui.Window(10000) + addon = xbmcaddon.Addon('plugin.video.emby') + if WINDOW.getProperty("SyncInstallRunDone") == "false": - addon = xbmcaddon.Addon('plugin.video.emby') addon.setSetting("SyncInstallRunDone", "false") + + if WINDOW.getProperty("EraseUserInfo") == "true": + addondir = xbmc.translatePath(addon.getAddonInfo('profile')) + dataPath = os.path.join(addondir + "settings.xml") + xbmcvfs.delete(dataPath) + xbmc.log("Deleted saved user information for: %s" % user.currUser) if (self.newWebSocketThread != None): ws.stopClient()