mirror of
https://github.com/jellyfin/jellyfin-kodi.git
synced 2024-12-26 02:36:10 +00:00
speed boost playcount sync
This commit is contained in:
parent
5ec6afaf99
commit
593d969669
2 changed files with 22 additions and 10 deletions
|
@ -558,9 +558,8 @@ class LibrarySync():
|
||||||
count = 1
|
count = 1
|
||||||
|
|
||||||
for item in allMB3Movies:
|
for item in allMB3Movies:
|
||||||
xbmc.sleep(sleepVal)
|
|
||||||
if not item.get('IsFolder'):
|
|
||||||
|
|
||||||
|
if not item.get('IsFolder'):
|
||||||
kodiItem = None
|
kodiItem = None
|
||||||
for kodimovie in allKodiMovies:
|
for kodimovie in allKodiMovies:
|
||||||
if item["Id"] in kodimovie["file"]:
|
if item["Id"] in kodimovie["file"]:
|
||||||
|
@ -571,11 +570,11 @@ class LibrarySync():
|
||||||
timeInfo = API().getTimeInfo(item)
|
timeInfo = API().getTimeInfo(item)
|
||||||
if kodiItem != None:
|
if kodiItem != None:
|
||||||
WriteKodiDB().updateProperty(kodiItem,"playcount",int(userData.get("PlayCount")),"movie")
|
WriteKodiDB().updateProperty(kodiItem,"playcount",int(userData.get("PlayCount")),"movie")
|
||||||
|
|
||||||
kodiresume = int(round(kodiItem['resume'].get("position")))
|
kodiresume = int(round(kodiItem['resume'].get("position")))
|
||||||
resume = int(round(float(timeInfo.get("ResumeTime"))))*60
|
resume = int(round(float(timeInfo.get("ResumeTime"))))*60
|
||||||
total = int(round(float(timeInfo.get("TotalTime"))))*60
|
total = int(round(float(timeInfo.get("TotalTime"))))*60
|
||||||
if kodiresume != resume:
|
if kodiresume != resume:
|
||||||
|
xbmc.sleep(sleepVal)
|
||||||
print "updating resumepoint for movie " + str(kodiItem['movieid'])
|
print "updating resumepoint for movie " + str(kodiItem['movieid'])
|
||||||
WriteKodiDB().setKodiResumePoint(kodiItem['movieid'],resume,total,"movie")
|
WriteKodiDB().setKodiResumePoint(kodiItem['movieid'],resume,total,"movie")
|
||||||
|
|
||||||
|
@ -604,8 +603,9 @@ class LibrarySync():
|
||||||
showCurrent = 1
|
showCurrent = 1
|
||||||
|
|
||||||
for item in tvshowData:
|
for item in tvshowData:
|
||||||
xbmc.sleep(sleepVal)
|
|
||||||
episodeData = ReadEmbyDB().getEpisodes(item["Id"], False)
|
episodeData = ReadEmbyDB().getEpisodes(item["Id"], False)
|
||||||
|
kodiEpisodes = ReadKodiDB().getKodiEpisodes(item["Id"],False)
|
||||||
|
|
||||||
if (episodeData != None):
|
if (episodeData != None):
|
||||||
if(pDialog != None):
|
if(pDialog != None):
|
||||||
|
@ -614,8 +614,17 @@ class LibrarySync():
|
||||||
count = 1
|
count = 1
|
||||||
|
|
||||||
for episode in episodeData:
|
for episode in episodeData:
|
||||||
xbmc.sleep(sleepVal)
|
|
||||||
kodiItem = ReadKodiDB().getKodiEpisodeByMbItem(episode)
|
kodiItem = None
|
||||||
|
comparestring1 = str(episode.get("ParentIndexNumber")) + "-" + str(episode.get("IndexNumber"))
|
||||||
|
matchFound = False
|
||||||
|
if kodiEpisodes != None:
|
||||||
|
for KodiEpisode in kodiEpisodes:
|
||||||
|
comparestring2 = str(KodiEpisode["season"]) + "-" + str(KodiEpisode["episode"])
|
||||||
|
if comparestring1 == comparestring2:
|
||||||
|
kodiItem = KodiEpisode
|
||||||
|
break
|
||||||
|
|
||||||
userData=API().getUserData(episode)
|
userData=API().getUserData(episode)
|
||||||
timeInfo = API().getTimeInfo(episode)
|
timeInfo = API().getTimeInfo(episode)
|
||||||
if kodiItem != None:
|
if kodiItem != None:
|
||||||
|
@ -625,6 +634,7 @@ class LibrarySync():
|
||||||
resume = int(round(float(timeInfo.get("ResumeTime"))))*60
|
resume = int(round(float(timeInfo.get("ResumeTime"))))*60
|
||||||
total = int(round(float(timeInfo.get("TotalTime"))))*60
|
total = int(round(float(timeInfo.get("TotalTime"))))*60
|
||||||
if kodiresume != resume:
|
if kodiresume != resume:
|
||||||
|
xbmc.sleep(sleepVal)
|
||||||
WriteKodiDB().setKodiResumePoint(kodiItem['episodeid'],resume,total,"episode")
|
WriteKodiDB().setKodiResumePoint(kodiItem['episodeid'],resume,total,"episode")
|
||||||
|
|
||||||
if(self.ShouldStop()):
|
if(self.ShouldStop()):
|
||||||
|
|
|
@ -113,9 +113,9 @@ class ReadKodiDB():
|
||||||
tvshow = tvshows[0]
|
tvshow = tvshows[0]
|
||||||
return tvshow
|
return tvshow
|
||||||
|
|
||||||
def getKodiEpisodes(self, id):
|
def getKodiEpisodes(self, id,fullInfo = True):
|
||||||
episodes = None
|
episodes = None
|
||||||
json_response = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": "VideoLibrary.GetTVShows", "params": { "filter": {"operator": "contains", "field": "path", "value": "' + id + '"}, "properties": ["sorttitle", "title", "originaltitle", "playcount", "file"], "sort": { "order": "ascending", "method": "label", "ignorearticle": true } }, "id": "libTvShows"}')
|
json_response = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": "VideoLibrary.GetTVShows", "params": { "filter": {"operator": "contains", "field": "path", "value": "' + id + '"}, "properties": ["title", "file"], "sort": { "order": "ascending", "method": "label", "ignorearticle": true } }, "id": "libTvShows"}')
|
||||||
jsonobject = json.loads(json_response.decode('utf-8','replace'))
|
jsonobject = json.loads(json_response.decode('utf-8','replace'))
|
||||||
tvshow = None
|
tvshow = None
|
||||||
if(jsonobject.has_key('result')):
|
if(jsonobject.has_key('result')):
|
||||||
|
@ -123,8 +123,10 @@ class ReadKodiDB():
|
||||||
if(result.has_key('tvshows')):
|
if(result.has_key('tvshows')):
|
||||||
tvshows = result['tvshows']
|
tvshows = result['tvshows']
|
||||||
tvshow = tvshows[0]
|
tvshow = tvshows[0]
|
||||||
|
if fullInfo:
|
||||||
json_response = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": "VideoLibrary.GetEpisodes", "params": {"tvshowid": %d, "properties": ["title", "playcount", "plot", "season", "episode", "showtitle", "file", "lastplayed", "rating", "resume", "art", "streamdetails", "firstaired", "runtime", "writer", "cast", "dateadded"], "sort": {"method": "episode"}}, "id": 1}' %tvshow['tvshowid'])
|
json_response = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": "VideoLibrary.GetEpisodes", "params": {"tvshowid": %d, "properties": ["title", "playcount", "plot", "season", "episode", "showtitle", "file", "lastplayed", "rating", "resume", "art", "streamdetails", "firstaired", "runtime", "writer", "cast", "dateadded"], "sort": {"method": "episode"}}, "id": 1}' %tvshow['tvshowid'])
|
||||||
|
else:
|
||||||
|
json_response = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": "VideoLibrary.GetEpisodes", "params": {"tvshowid": %d, "properties": ["title", "playcount", "season", "episode", "lastplayed", "resume"], "sort": {"method": "episode"}}, "id": 1}' %tvshow['tvshowid'])
|
||||||
jsonobject = json.loads(json_response.decode('utf-8','replace'))
|
jsonobject = json.loads(json_response.decode('utf-8','replace'))
|
||||||
episodes = None
|
episodes = None
|
||||||
if(jsonobject.has_key('result')):
|
if(jsonobject.has_key('result')):
|
||||||
|
|
Loading…
Reference in a new issue