diff --git a/resources/lib/PlaybackUtils.py b/resources/lib/PlaybackUtils.py index 71d36565..6a96ab75 100644 --- a/resources/lib/PlaybackUtils.py +++ b/resources/lib/PlaybackUtils.py @@ -57,10 +57,6 @@ class PlaybackUtils(): if seekTime > jumpBackSec: # To avoid negative bookmark seekTime = seekTime - jumpBackSec - - if userData.get("PlaybackPositionTicks") != 0: - reasonableTicks = int(userData.get("PlaybackPositionTicks")) / 1000 - seekTime = reasonableTicks / 10000 itemsToPlay = [] # Check for intros @@ -137,6 +133,7 @@ class PlaybackUtils(): elif resume_result < 0: # User cancelled dialog xbmc.log("Emby player -> User cancelled resume dialog.") + xbmcplugin.setResolvedUrl(int(sys.argv[1]), False, listItem) return if result.get("Type")=="Episode": diff --git a/resources/lib/WriteKodiVideoDB.py b/resources/lib/WriteKodiVideoDB.py index 120997d1..e5279cef 100644 --- a/resources/lib/WriteKodiVideoDB.py +++ b/resources/lib/WriteKodiVideoDB.py @@ -153,13 +153,26 @@ class WriteKodiVideoDB(): filename = "plugin://plugin.video.emby/movies/%s/?filename=%s&id=%s&mode=play" % (embyId, fileext, embyId) path = "plugin://plugin.video.emby/movies/%s/" % embyId - # Remove Kodi bookmark - messes with plugin path bookmark + # If the bookmark was created from widget cursor.execute("SELECT idFile as fileid FROM files WHERE strFilename = ?", (fileext,)) - try: + try: # Remove Kodi bookmark - messes with plugin path bookmark result = cursor.fetchone()[0] self.setKodiResumePoint(result, 0, 0, cursor) except: pass + # If the bookmark was created within the library + plugindummy = "plugin://plugin.video.emby/" + cursor.execute("SELECT idPath FROM path WHERE strPath = ?", (plugindummy,)) + try: + pathiddummy = cursor.fetchone()[0] + except: pass + else: + cursor.execute("SELECT idFile as fileid FROM files WHERE strFilename = ? and idPath = ?", (filename, pathiddummy,)) + try: # Remove Kodi bookmark - creates a ghost bookmark for widgets + result = cursor.fetchone()[0] + self.setKodiResumePoint(result, 0, 0, cursor) + except: pass + # Validate the path in database cursor.execute("SELECT idPath as pathid FROM path WHERE strPath = ?", (path,)) @@ -586,11 +599,25 @@ class WriteKodiVideoDB(): filename = "plugin://plugin.video.emby/tvshows/%s/?filename=%s&id=%s&mode=play" % (seriesId, fileext, embyId) path = "plugin://plugin.video.emby/tvshows/%s/" % seriesId + # If the bookmark was created from widget cursor.execute("SELECT idFile as fileid FROM files WHERE strFilename = ?", (fileext,)) try: # Remove Kodi bookmark - messes with plugin path bookmark result = cursor.fetchone()[0] self.setKodiResumePoint(result, 0, 0, cursor) except: pass + + # If the bookmark was created within the library + plugindummy = "plugin://plugin.video.emby/" + cursor.execute("SELECT idPath FROM path WHERE strPath = ?", (plugindummy,)) + try: + pathiddummy = cursor.fetchone()[0] + except: pass + else: + cursor.execute("SELECT idFile as fileid FROM files WHERE strFilename = ? and idPath = ?", (filename, pathiddummy,)) + try: # Remove Kodi bookmark - creates a ghost bookmark for widgets + result = cursor.fetchone()[0] + self.setKodiResumePoint(result, 0, 0, cursor) + except: pass # Validate the path in database cursor.execute("SELECT idPath as pathid FROM path WHERE strPath = ?", (path,))