Updated playcount check in KodiMonitor, if playcount was empty / null it would incorrectly mark it as watched.
While updating play state make sure offset never exceeds item duration.
This commit is contained in:
parent
c173823e77
commit
643899ce49
2 changed files with 8 additions and 1 deletions
|
@ -158,6 +158,12 @@ class Items(object):
|
|||
# If the playback was stopped, check whether we need to increment the
|
||||
# playcount. PMS won't tell us the playcount via websockets
|
||||
if item['state'] in ('stopped', 'ended'):
|
||||
|
||||
# If offset exceeds duration skip update
|
||||
if item['viewOffset'] > item['duration']:
|
||||
log.error("Error while updating play state, viewOffset exceeded duration")
|
||||
return
|
||||
|
||||
complete = float(item['viewOffset']) / float(item['duration'])
|
||||
log.info('Item %s stopped with completion rate %s percent.'
|
||||
'Mark item played at %s percent.'
|
||||
|
|
|
@ -92,6 +92,7 @@ class KodiMonitor(Monitor):
|
|||
# Manually marking as watched/unwatched
|
||||
playcount = data.get('playcount')
|
||||
item = data.get('item')
|
||||
|
||||
try:
|
||||
kodiid = item['id']
|
||||
item_type = item['type']
|
||||
|
@ -114,7 +115,7 @@ class KodiMonitor(Monitor):
|
|||
window('plex_skipWatched%s' % itemid, clear=True)
|
||||
else:
|
||||
# notify the server
|
||||
if playcount != 0:
|
||||
if playcount > 0:
|
||||
scrobble(itemid, 'watched')
|
||||
else:
|
||||
scrobble(itemid, 'unwatched')
|
||||
|
|
Loading…
Reference in a new issue