35 lines
1.2 KiB
Python
35 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)
|