Пример #1
0
 def __init__(self, server=None, data=None, initpath=None, baseurl=None,
       token=None, connect=True, session=None, timeout=None):
     super(PlexClient, self).__init__(server, data, initpath)
     self._baseurl = baseurl.strip('/') if baseurl else None
     self._token = logfilter.add_secret(token)
     self._showSecrets = CONFIG.get('log.show_secrets', '').lower() == 'true'
     server_session = server._session if server else None
     self._session = session or server_session or requests.Session()
     self._proxyThroughServer = False
     self._commandId = 0
     if not any([data, initpath, baseurl, token]):
         self._baseurl = CONFIG.get('auth.client_baseurl', 'http://localhost:32433')
         self._token = logfilter.add_secret(CONFIG.get('auth.client_token'))
     if connect and self._baseurl:
         self.connect(timeout=timeout)
Пример #2
0
 def _loadData(self, data):
     """ Load attribute values from Plex XML response. """
     self._data = data
     self._token = logfilter.add_secret(data.attrib.get('authenticationToken'))
     self._webhooks = []
     self.authenticationToken = self._token
     self.certificateVersion = data.attrib.get('certificateVersion')
     self.cloudSyncDevice = data.attrib.get('cloudSyncDevice')
     self.email = data.attrib.get('email')
     self.guest = utils.cast(bool, data.attrib.get('guest'))
     self.home = utils.cast(bool, data.attrib.get('home'))
     self.homeSize = utils.cast(int, data.attrib.get('homeSize'))
     self.id = data.attrib.get('id')
     self.locale = data.attrib.get('locale')
     self.mailing_list_status = data.attrib.get('mailing_list_status')
     self.maxHomeSize = utils.cast(int, data.attrib.get('maxHomeSize'))
     self.queueEmail = data.attrib.get('queueEmail')
     self.queueUid = data.attrib.get('queueUid')
     self.restricted = utils.cast(bool, data.attrib.get('restricted'))
     self.scrobbleTypes = data.attrib.get('scrobbleTypes')
     self.secure = utils.cast(bool, data.attrib.get('secure'))
     self.thumb = data.attrib.get('thumb')
     self.title = data.attrib.get('title')
     self.username = data.attrib.get('username')
     self.uuid = data.attrib.get('uuid')
     # TODO: Fetch missing MyPlexAccount attributes
     self.subscriptionActive = None      # renamed on server
     self.subscriptionStatus = None      # renamed on server
     self.subscriptionPlan = None        # renmaed on server
     self.subscriptionFeatures = None    # renamed on server
     self.roles = None
     self.entitlements = None
Пример #3
0
 def __init__(self, baseurl=None, token=None, session=None, timeout=None):
     self._baseurl = baseurl or CONFIG.get('auth.server_baseurl', 'http://localhost:32400')
     self._token = logfilter.add_secret(token or CONFIG.get('auth.server_token'))
     self._showSecrets = CONFIG.get('log.show_secrets', '').lower() == 'true'
     self._session = session or requests.Session()
     self._library = None   # cached library
     self._settings = None   # cached settings
     self._myPlexAccount = None   # cached myPlexAccount
     data = self.query(self.key, timeout=timeout)
     super(PlexServer, self).__init__(self, data, self.key)
Пример #4
0
 def __init__(self, baseurl=None, token=None, session=None, timeout=None):
     self._baseurl = baseurl or CONFIG.get('auth.server_baseurl',
                                           'http://localhost:32400')
     self._baseurl = self._baseurl.rstrip('/')
     self._token = logfilter.add_secret(token
                                        or CONFIG.get('auth.server_token'))
     self._showSecrets = CONFIG.get('log.show_secrets',
                                    '').lower() == 'true'
     self._session = session or requests.Session()
     self._library = None  # cached library
     self._settings = None  # cached settings
     self._myPlexAccount = None  # cached myPlexAccount
     data = self.query(self.key, timeout=timeout)
     super(PlexServer, self).__init__(self, data, self.key)
Пример #5
0
 def __init__(self,
              server=None,
              data=None,
              initpath=None,
              baseurl=None,
              token=None,
              connect=True,
              session=None,
              timeout=None):
     super(PlexClient, self).__init__(server, data, initpath)
     self._baseurl = baseurl.strip('/') if baseurl else None
     self._token = logfilter.add_secret(token)
     self._showSecrets = CONFIG.get('log.show_secrets',
                                    '').lower() == 'true'
     server_session = server._session if server else None
     self._session = session or server_session or requests.Session()
     self._proxyThroughServer = False
     self._commandId = 0
     if not any([data, initpath, baseurl, token]):
         self._baseurl = CONFIG.get('auth.client_baseurl',
                                    'http://localhost:32433')
         self._token = logfilter.add_secret(CONFIG.get('auth.client_token'))
     if connect and self._baseurl:
         self.connect(timeout=timeout)
Пример #6
0
 def __init__(self, data):
     self._data = data
     self.name = data.attrib.get('name')
     self.publicAddress = data.attrib.get('publicAddress')
     self.product = data.attrib.get('product')
     self.productVersion = data.attrib.get('productVersion')
     self.platform = data.attrib.get('platform')
     self.platformVersion = data.attrib.get('platformVersion')
     self.device = data.attrib.get('device')
     self.model = data.attrib.get('model')
     self.vendor = data.attrib.get('vendor')
     self.provides = data.attrib.get('provides')
     self.clientIdentifier = data.attrib.get('clientIdentifier')
     self.version = data.attrib.get('version')
     self.id = data.attrib.get('id')
     self.token = data.attrib.get('token')
     if self.token:
         logfilter.add_secret(self.token)
     self.screenResolution = data.attrib.get('screenResolution')
     self.screenDensity = data.attrib.get('screenDensity')
     self.connections = [
         connection.attrib.get('uri')
         for connection in data.iter('Connection')
     ]
Пример #7
0
 def _loadData(self, data):
     self._data = data
     self.name = data.attrib.get('name')
     self.accessToken = logfilter.add_secret(data.attrib.get('accessToken'))
     self.product = data.attrib.get('product')
     self.productVersion = data.attrib.get('productVersion')
     self.platform = data.attrib.get('platform')
     self.platformVersion = data.attrib.get('platformVersion')
     self.device = data.attrib.get('device')
     self.clientIdentifier = data.attrib.get('clientIdentifier')
     self.createdAt = utils.toDatetime(data.attrib.get('createdAt'))
     self.lastSeenAt = utils.toDatetime(data.attrib.get('lastSeenAt'))
     self.provides = data.attrib.get('provides')
     self.owned = utils.cast(bool, data.attrib.get('owned'))
     self.home = utils.cast(bool, data.attrib.get('home'))
     self.synced = utils.cast(bool, data.attrib.get('synced'))
     self.presence = utils.cast(bool, data.attrib.get('presence'))
     self.connections = self.findItems(data, ResourceConnection)
Пример #8
0
 def _loadData(self, data):
     self._data = data
     self.name = data.attrib.get('name')
     self.publicAddress = data.attrib.get('publicAddress')
     self.product = data.attrib.get('product')
     self.productVersion = data.attrib.get('productVersion')
     self.platform = data.attrib.get('platform')
     self.platformVersion = data.attrib.get('platformVersion')
     self.device = data.attrib.get('device')
     self.model = data.attrib.get('model')
     self.vendor = data.attrib.get('vendor')
     self.provides = data.attrib.get('provides')
     self.clientIdentifier = data.attrib.get('clientIdentifier')
     self.version = data.attrib.get('version')
     self.id = data.attrib.get('id')
     self.token = logfilter.add_secret(data.attrib.get('token'))
     self.screenResolution = data.attrib.get('screenResolution')
     self.screenDensity = data.attrib.get('screenDensity')
     self.createdAt = utils.toDatetime(data.attrib.get('createdAt'))
     self.lastSeenAt = utils.toDatetime(data.attrib.get('lastSeenAt'))
     self.connections = [connection.attrib.get('uri') for connection in data.iter('Connection')]
Пример #9
0
 def _loadData(self, data):
     self._data = data
     self.name = data.attrib.get('name')
     self.publicAddress = data.attrib.get('publicAddress')
     self.product = data.attrib.get('product')
     self.productVersion = data.attrib.get('productVersion')
     self.platform = data.attrib.get('platform')
     self.platformVersion = data.attrib.get('platformVersion')
     self.device = data.attrib.get('device')
     self.model = data.attrib.get('model')
     self.vendor = data.attrib.get('vendor')
     self.provides = data.attrib.get('provides')
     self.clientIdentifier = data.attrib.get('clientIdentifier')
     self.version = data.attrib.get('version')
     self.id = data.attrib.get('id')
     self.token = logfilter.add_secret(data.attrib.get('token'))
     self.screenResolution = data.attrib.get('screenResolution')
     self.screenDensity = data.attrib.get('screenDensity')
     self.createdAt = utils.toDatetime(data.attrib.get('createdAt'))
     self.lastSeenAt = utils.toDatetime(data.attrib.get('lastSeenAt'))
     self.connections = [connection.attrib.get('uri') for connection in data.iter('Connection')]
Пример #10
0
 def _loadData(self, data):
     self._data = data
     self.name = data.attrib.get('name')
     self.accessToken = logfilter.add_secret(data.attrib.get('accessToken'))
     self.product = data.attrib.get('product')
     self.productVersion = data.attrib.get('productVersion')
     self.platform = data.attrib.get('platform')
     self.platformVersion = data.attrib.get('platformVersion')
     self.device = data.attrib.get('device')
     self.clientIdentifier = data.attrib.get('clientIdentifier')
     self.createdAt = utils.toDatetime(data.attrib.get('createdAt'))
     self.lastSeenAt = utils.toDatetime(data.attrib.get('lastSeenAt'))
     self.provides = data.attrib.get('provides')
     self.owned = utils.cast(bool, data.attrib.get('owned'))
     self.home = utils.cast(bool, data.attrib.get('home'))
     self.synced = utils.cast(bool, data.attrib.get('synced'))
     self.presence = utils.cast(bool, data.attrib.get('presence'))
     self.connections = self.findItems(data, ResourceConnection)
     self.publicAddressMatches = utils.cast(bool, data.attrib.get('publicAddressMatches'))
     # This seems to only be available if its not your device (say are shared server)
     self.httpsRequired = utils.cast(bool, data.attrib.get('httpsRequired'))
     self.ownerid = utils.cast(int, data.attrib.get('ownerId', 0))
     self.sourceTitle = data.attrib.get('sourceTitle')  # owners plex username.
Пример #11
0
 def _loadData(self, data):
     self._data = data
     self.name = data.attrib.get('name')
     self.accessToken = logfilter.add_secret(data.attrib.get('accessToken'))
     self.product = data.attrib.get('product')
     self.productVersion = data.attrib.get('productVersion')
     self.platform = data.attrib.get('platform')
     self.platformVersion = data.attrib.get('platformVersion')
     self.device = data.attrib.get('device')
     self.clientIdentifier = data.attrib.get('clientIdentifier')
     self.createdAt = utils.toDatetime(data.attrib.get('createdAt'))
     self.lastSeenAt = utils.toDatetime(data.attrib.get('lastSeenAt'))
     self.provides = data.attrib.get('provides')
     self.owned = utils.cast(bool, data.attrib.get('owned'))
     self.home = utils.cast(bool, data.attrib.get('home'))
     self.synced = utils.cast(bool, data.attrib.get('synced'))
     self.presence = utils.cast(bool, data.attrib.get('presence'))
     self.connections = self.findItems(data, ResourceConnection)
     self.publicAddressMatches = utils.cast(bool, data.attrib.get('publicAddressMatches'))
     # This seems to only be available if its not your device (say are shared server)
     self.httpsRequired = utils.cast(bool, data.attrib.get('httpsRequired'))
     self.ownerid = utils.cast(int, data.attrib.get('ownerId', 0))
     self.sourceTitle = data.attrib.get('sourceTitle')  # owners plex username.