Krypton: update userratings on startup&user change

This commit is contained in:
tomkat83 2017-02-02 16:21:01 +01:00
parent 1343edc0d0
commit 56d5e84f72
2 changed files with 21 additions and 2 deletions

View file

@ -134,9 +134,10 @@ class Items(object):
for mediaitem in xml:
API = PlexAPI.API(mediaitem)
# Get key and db entry on the Kodi db side
db_item = self.plex_db.getItem_byId(API.getRatingKey())
try:
fileid = self.plex_db.getItem_byId(API.getRatingKey())[1]
except:
fileid = db_item[1]
except TypeError:
continue
# Grab the user's viewcount, resume points etc. from PMS' answer
userdata = API.getUserData()
@ -146,6 +147,10 @@ class Items(object):
userdata['Runtime'],
userdata['PlayCount'],
userdata['LastPlayedDate'])
if v.KODIVERSION >= 17:
self.kodi_db.update_userrating(db_item[0],
db_item[4],
userdata['UserRating'])
def updatePlaystate(self, item):
"""

View file

@ -1401,6 +1401,20 @@ class Kodidb_Functions():
# Krypton only stuff ##############################
def update_userrating(self, kodi_id, kodi_type, userrating):
"""
Updates userrating for >=Krypton
"""
if kodi_type == v.KODI_TYPE_MOVIE:
ID = 'idMovie'
elif kodi_type == v.KODI_TYPE_EPISODE:
ID = 'idEpisode'
elif kodi_type == v.KODI_TYPE_SONG:
ID = 'idSong'
query = ('''UPDATE %s SET userrating = ? WHERE %s = ?'''
% (kodi_type, ID))
self.cursor.execute(query, (userrating, kodi_id))
def create_entry_uniqueid(self):
self.cursor.execute(
"select coalesce(max(uniqueid_id),0) from uniqueid")