PlexKodiConnect/resources/lib/plexnet/myplexserver.py

36 lines
1.2 KiB
Python

import plexapp
import plexconnection
import plexserver
import plexresource
import plexservermanager
class MyPlexServer(plexserver.PlexServer):
TYPE = 'MYPLEXSERVER'
def __init__(self):
plexserver.PlexServer.__init__(self)
self.uuid = 'myplex'
self.name = 'plex.tv'
conn = plexconnection.PlexConnection(plexresource.ResourceConnection.SOURCE_MYPLEX, "https://plex.tv", False, None)
self.connections.append(conn)
self.activeConnection = conn
def getToken(self):
return plexapp.ACCOUNT.authToken
def buildUrl(self, path, includeToken=False):
if "://node.plexapp.com" in path:
# Locate the best fit server that supports channels, otherwise we'll
# continue to use the node urls. Service code between the node and
# PMS differs sometimes, so it's a toss up which one is actually
# more accurate. Either way, we try to offload work from the node.
server = plexservermanager.MANAGER.getChannelServer()
if server:
url = server.swizzleUrl(path, includeToken)
if url:
return url
return plexserver.PlexServer.buildUrl(self, path, includeToken)