diff --git a/README.md b/README.md index 331b0a29..a5d41149 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -[![stable version](https://img.shields.io/badge/stable_version-1.8.6-blue.svg?maxAge=60&style=flat) ](https://dl.bintray.com/croneter/PlexKodiConnect/bin/repository.plexkodiconnect/repository.plexkodiconnect-1.0.0.zip) -[![beta version](https://img.shields.io/badge/beta_version-1.8.6-red.svg?maxAge=60&style=flat) ](https://dl.bintray.com/croneter/PlexKodiConnect_BETA/bin-BETA/repository.plexkodiconnectbeta/repository.plexkodiconnectbeta-1.0.0.zip) +[![stable version](https://img.shields.io/badge/stable_version-1.8.5-blue.svg?maxAge=60&style=flat) ](https://dl.bintray.com/croneter/PlexKodiConnect/bin/repository.plexkodiconnect/repository.plexkodiconnect-1.0.0.zip) +[![beta version](https://img.shields.io/badge/beta_version-1.8.7-red.svg?maxAge=60&style=flat) ](https://dl.bintray.com/croneter/PlexKodiConnect_BETA/bin-BETA/repository.plexkodiconnectbeta/repository.plexkodiconnectbeta-1.0.0.zip) [![Installation](https://img.shields.io/badge/wiki-installation-brightgreen.svg?maxAge=60&style=flat)](https://github.com/croneter/PlexKodiConnect/wiki/Installation) [![FAQ](https://img.shields.io/badge/wiki-FAQ-brightgreen.svg?maxAge=60&style=flat)](https://github.com/croneter/PlexKodiConnect/wiki/faq) diff --git a/addon.xml b/addon.xml index 105a8729..9499dd5f 100644 --- a/addon.xml +++ b/addon.xml @@ -1,5 +1,5 @@ - + @@ -59,7 +59,13 @@ Indbygget Integration af Plex i Kodi Tilslut Kodi til din Plex Media Server. Dette plugin forudsætter, at du administrere alle dine videoer med Plex (og ikke med Kodi). Du kan miste data som allerede er gemt i Kodi video og musik-databaser (dette plugin ændrer direkte i dem). Brug på eget ansvar! Brug på eget ansvar - version 1.8.6: + version 1.8.7: +- Some fixes to playstate reporting, thanks @RickDB +- Add Kodi info screen for episodes in context menu +- Fix PKC asking for trailers not working +- Fix PKC not automatically updating + +version 1.8.6: - Portuguese translation, thanks @goncalo532 - Updated other translations diff --git a/changelog.txt b/changelog.txt index d59f84f0..6213c72e 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,9 @@ +version 1.8.7: +- Some fixes to playstate reporting, thanks @RickDB +- Add Kodi info screen for episodes in context menu +- Fix PKC asking for trailers not working +- Fix PKC not automatically updating + version 1.8.6: - Portuguese translation, thanks @goncalo532 - Updated other translations diff --git a/resources/language/resource.language.de_DE/strings.po b/resources/language/resource.language.de_DE/strings.po index 82c207ff..356af051 100644 --- a/resources/language/resource.language.de_DE/strings.po +++ b/resources/language/resource.language.de_DE/strings.po @@ -104,6 +104,11 @@ msgctxt "#30031" msgid "I own this Plex Media Server" msgstr "Dieser Plex Media Server gehört mir" +# Kodi context menu entry for movie and episode information screen +msgctxt "#30032" +msgid "Information" +msgstr "Informationen" + msgctxt "#30035" msgid "Number of recent Music Albums to show:" msgstr "Anzahl anzuzeigender zuletzt hinzugefügter Alben:" diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po index 6a5d051c..018cfd44 100644 --- a/resources/language/resource.language.en_gb/strings.po +++ b/resources/language/resource.language.en_gb/strings.po @@ -103,6 +103,11 @@ msgctxt "#30031" msgid "I own this Plex Media Server" msgstr "" +# Kodi context menu entry for movie and episode information screen +msgctxt "#30032" +msgid "Information" +msgstr "" + msgctxt "#30035" msgid "Number of recent Music Albums to show:" msgstr "" diff --git a/resources/lib/PlexAPI.py b/resources/lib/PlexAPI.py index 6f1c1661..65db0967 100644 --- a/resources/lib/PlexAPI.py +++ b/resources/lib/PlexAPI.py @@ -2534,6 +2534,12 @@ class API(): # Expensive operation metadata['title'] = title listItem.setInfo('video', infoLabels=metadata) + try: + # Add context menu entry for information screen + listItem.addContextMenuItems([(lang(30032), 'XBMC.Action(Info)',)]) + except TypeError: + # Kodi fuck-up + pass return listItem def add_video_streams(self, listItem): diff --git a/resources/lib/entrypoint.py b/resources/lib/entrypoint.py index eaf360fb..5dfc93d2 100644 --- a/resources/lib/entrypoint.py +++ b/resources/lib/entrypoint.py @@ -255,6 +255,11 @@ def createListItem(item, appendShowTitle=False, appendSxxExx=False): li.setArt({'icon': 'DefaultTVShows.png'}) li.setProperty('dbid', str(item['episodeid'])) li.setProperty('fanart_image', item['art'].get('tvshow.fanart','')) + try: + li.addContextMenuItems([(lang(30032), 'XBMC.Action(Info)',)]) + except TypeError: + # Kodi fuck-up + pass for key, value in item['streamdetails'].iteritems(): for stream in value: li.addStreamInfo(key, stream) diff --git a/resources/lib/itemtypes.py b/resources/lib/itemtypes.py index 4cfa311a..f244844b 100644 --- a/resources/lib/itemtypes.py +++ b/resources/lib/itemtypes.py @@ -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.' diff --git a/resources/lib/kodimonitor.py b/resources/lib/kodimonitor.py index 579c9033..fde49a13 100644 --- a/resources/lib/kodimonitor.py +++ b/resources/lib/kodimonitor.py @@ -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') diff --git a/resources/lib/playbackutils.py b/resources/lib/playbackutils.py index 1ca853d4..388b0dc5 100644 --- a/resources/lib/playbackutils.py +++ b/resources/lib/playbackutils.py @@ -129,6 +129,7 @@ class PlaybackUtils(): trailers = xbmcgui.Dialog().yesno( lang(29999), "Play trailers?") + trailers = True if trailers else False else: trailers = True # Post to the PMS. REUSE THE PLAYQUEUE!