From ba5211dcb85168a829af5fc005bccef9cbd35fc9 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Sat, 2 May 2015 18:04:32 +0200 Subject: [PATCH] fixed resume dialog --- resources/lib/KodiMonitor.py | 74 +--------------------------------- resources/lib/PlaybackUtils.py | 14 ++----- 2 files changed, 4 insertions(+), 84 deletions(-) diff --git a/resources/lib/KodiMonitor.py b/resources/lib/KodiMonitor.py index 988bb1df..42208475 100644 --- a/resources/lib/KodiMonitor.py +++ b/resources/lib/KodiMonitor.py @@ -31,79 +31,7 @@ class Kodi_Monitor(xbmc.Monitor): #player started playing an item - if method == "Playlist.OnAdd": print "playlist onadd is called" - jsondata = json.loads(data) - if jsondata != None: - if jsondata.has_key("item"): - if jsondata.get("item").has_key("id") and jsondata.get("item").has_key("type"): - id = jsondata.get("item").get("id") - type = jsondata.get("item").get("type") - embyid = ReadKodiDB().getEmbyIdByKodiId(id,type) - - print "id --> " + str(id) - print "type --> " + type - print "emby_id --> " + embyid - if embyid != None: - - WINDOW = xbmcgui.Window( 10000 ) - - username = WINDOW.getProperty('currUser') - userid = WINDOW.getProperty('userId%s' % username) - server = WINDOW.getProperty('server%s' % username) - - url = "{server}/mediabrowser/Users/{UserId}/Items/%s?format=json&ImageTypeLimit=1" % embyid - result = downloadUtils.downloadUrl(url) - - userData = result[u'UserData'] - - playurl = PlayUtils().getPlayUrl(server, embyid, result) - thumbPath = API().getArtwork(result, "Primary") - - watchedurl = "%s/mediabrowser/Users/%s/PlayedItems/%s" % (server, userid, embyid) - positionurl = "%s/mediabrowser/Users/%s/PlayingItems/%s" % (server, userid, embyid) - deleteurl = "%s/mediabrowser/Items/%s" % (server, embyid) - - listItem = xbmcgui.ListItem(path=playurl, iconImage=thumbPath, thumbnailImage=thumbPath) - self.setListItemProps(server, id, listItem, result) - - # Can not play virtual items - if (result.get("LocationType") == "Virtual"): - xbmcgui.Dialog().ok(self.language(30128), self.language(30129)) - - # set the current playing info - WINDOW.setProperty(playurl+"watchedurl", watchedurl) - WINDOW.setProperty(playurl+"positionurl", positionurl) - WINDOW.setProperty(playurl+"deleteurl", "") - WINDOW.setProperty(playurl+"deleteurl", deleteurl) - if result[u'Type']=="Episode": - WINDOW.setProperty(playurl+"refresh_id", result[u'SeriesId']) - else: - WINDOW.setProperty(playurl+"refresh_id", embyid) - - WINDOW.setProperty(playurl+"runtimeticks", str(result[u'RunTimeTicks'])) - WINDOW.setProperty(playurl+"type", result[u'Type']) - WINDOW.setProperty(playurl+"item_id", embyid) - - if PlayUtils().isDirectPlay(result) == True: - playMethod = "DirectPlay" - else: - playMethod = "Transcode" - - WINDOW.setProperty(playurl+"playmethod", playMethod) - - if result.get("Type")=="Episode": - WINDOW.setProperty(playurl+"refresh_id", result.get("SeriesId")) - else: - WINDOW.setProperty(playurl+"refresh_id", id) - - mediaSources = result[u'MediaSources'] - if(mediaSources != None): - if mediaSources[0].get('DefaultAudioStreamIndex') != None: - WINDOW.setProperty(playurl+"AudioStreamIndex", str(mediaSources[0][u'DefaultAudioStreamIndex'])) - if mediaSources[0].get('DefaultSubtitleStreamIndex') != None: - WINDOW.setProperty(playurl+"SubtitleStreamIndex", str(mediaSources[0][u'DefaultSubtitleStreamIndex'])) - - # start the playback - PlaybackUtils().PLAY(id) + if method == "VideoLibrary.OnUpdate": jsondata = json.loads(data) diff --git a/resources/lib/PlaybackUtils.py b/resources/lib/PlaybackUtils.py index 6ebf465e..13b05629 100644 --- a/resources/lib/PlaybackUtils.py +++ b/resources/lib/PlaybackUtils.py @@ -49,17 +49,9 @@ class PlaybackUtils(): resume_result = 0 seekTime = 0 - #get the resume point from Kodi DB for a Movie - # kodiItem = ReadKodiDB().getKodiMovie(id) - # if kodiItem != None: - # seekTime = int(round(kodiItem['resume'].get("position"))) - # else: - # #get the resume point from Kodi DB for an episode - # episodeItem = ReadEmbyDB().getItem(id) - # if episodeItem != None and str(episodeItem["Type"]) == "Episode": - # kodiItem = ReadKodiDB().getKodiEpisodeByMbItem(id,episodeItem["SeriesId"]) - # if kodiItem != None: - # seekTime = int(round(kodiItem['resume'].get("position"))) + if userData.get("PlaybackPositionTicks") != 0: + reasonableTicks = int(userData.get("PlaybackPositionTicks")) / 1000 + seekTime = reasonableTicks / 10000 playurl = PlayUtils().getPlayUrl(server, id, result) thumbPath = API().getArtwork(result, "Primary")