From 20cf51432fe20e025ca3576b0544325b0b4a64d1 Mon Sep 17 00:00:00 2001 From: tomkat83 Date: Wed, 17 May 2017 20:22:16 +0200 Subject: [PATCH] Companion: send transient token --- resources/lib/PlexCompanion.py | 3 +++ resources/lib/player.py | 4 ++++ resources/lib/plexbmchelper/subscribers.py | 15 ++++++++++----- resources/lib/state.py | 9 +++++++-- 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/resources/lib/PlexCompanion.py b/resources/lib/PlexCompanion.py index af2971e8..c172ca38 100644 --- a/resources/lib/PlexCompanion.py +++ b/resources/lib/PlexCompanion.py @@ -14,6 +14,7 @@ from PlexFunctions import ParseContainerKey, GetPlexMetadata from PlexAPI import API import player import variables as v +import state ############################################################################### @@ -76,6 +77,8 @@ class PlexCompanion(Thread): log.debug('Processing: %s' % task) data = task['data'] + # Get the token of the user flinging media (might be different one) + state.PLEX_TRANSIENT_TOKEN = data.get('token') if task['action'] == 'alexa': # e.g. Alexa xml = GetPlexMetadata(data['key']) diff --git a/resources/lib/player.py b/resources/lib/player.py index b5f2389f..5b465ae5 100644 --- a/resources/lib/player.py +++ b/resources/lib/player.py @@ -13,6 +13,7 @@ import downloadutils import plexdb_functions as plexdb import kodidb_functions as kodidb import variables as v +import state ############################################################################### @@ -308,6 +309,9 @@ class Player(xbmc.Player): 'plex_playbackProps', 'plex_forcetranscode'): window(item, clear=True) + # We might have saved a transient token from a user flinging media via + # Companion + state.PLEX_TRANSIENT_TOKEN = None log.debug("Cleared playlist properties.") def onPlayBackEnded(self): diff --git a/resources/lib/plexbmchelper/subscribers.py b/resources/lib/plexbmchelper/subscribers.py index a109d00a..9553857e 100644 --- a/resources/lib/plexbmchelper/subscribers.py +++ b/resources/lib/plexbmchelper/subscribers.py @@ -5,6 +5,7 @@ import threading import downloadutils from utils import window import PlexFunctions as pf +import state from functions import * ############################################################################### @@ -68,12 +69,12 @@ class SubscriptionManager: info = self.getPlayerProperties(playerid) # save this info off so the server update can use it too self.playerprops[playerid] = info; - state = info['state'] + status = info['state'] time = info['time'] else: - state = "stopped" + status = "stopped" time = 0 - ret = "\n"+'