mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-14 01:02:59 -07:00
Add option in settings to enable BIF indexes.
This commit is contained in:
parent
d2c65e6a65
commit
7bf45f8bef
6 changed files with 249 additions and 13 deletions
109
plexpy/plextv.py
109
plexpy/plextv.py
|
@ -39,10 +39,11 @@ class PlexTV(object):
|
|||
def __init__(self, username='', password=''):
|
||||
self.username = username
|
||||
self.password = password
|
||||
self.url = 'plex.tv'
|
||||
|
||||
def get_plex_auth(self):
|
||||
|
||||
http_handler = HTTPSConnection("plex.tv")
|
||||
http_handler = HTTPSConnection(self.url)
|
||||
base64string = base64.encodestring('%s:%s' % (self.username, self.password)).replace('\n', '')
|
||||
|
||||
http_handler.request("POST",
|
||||
|
@ -109,4 +110,108 @@ class PlexTV(object):
|
|||
|
||||
return user_data
|
||||
else:
|
||||
return False
|
||||
return False
|
||||
|
||||
def get_plextv_friends(self, output_format=''):
|
||||
url_command = '/api/users'
|
||||
http_handler = HTTPSConnection(self.url, timeout=10)
|
||||
|
||||
try:
|
||||
http_handler.request("GET", url_command + '?X-Plex-Token=' + plexpy.CONFIG.PMS_TOKEN)
|
||||
response = http_handler.getresponse()
|
||||
request_status = response.status
|
||||
request_content = response.read()
|
||||
except IOError, e:
|
||||
logger.warn(u"Failed to access friends list. %s" % e)
|
||||
return None
|
||||
|
||||
if request_status == 200:
|
||||
if output_format == 'dict':
|
||||
output = helpers.convert_xml_to_dict(request_content)
|
||||
elif output_format == 'json':
|
||||
output = helpers.convert_xml_to_json(request_content)
|
||||
else:
|
||||
output = request_content
|
||||
else:
|
||||
logger.warn(u"Failed to access friends list. Status code %r" % request_status)
|
||||
return None
|
||||
|
||||
return output
|
||||
|
||||
def get_plextv_user_details(self, output_format=''):
|
||||
url_command = '/users/account'
|
||||
http_handler = HTTPSConnection(self.url, timeout=10)
|
||||
|
||||
try:
|
||||
http_handler.request("GET", url_command + '?X-Plex-Token=' + plexpy.CONFIG.PMS_TOKEN)
|
||||
response = http_handler.getresponse()
|
||||
request_status = response.status
|
||||
request_content = response.read()
|
||||
except IOError, e:
|
||||
logger.warn(u"Failed to access user details. %s" % e)
|
||||
return None
|
||||
|
||||
if request_status == 200:
|
||||
if output_format == 'dict':
|
||||
output = helpers.convert_xml_to_dict(request_content)
|
||||
elif output_format == 'json':
|
||||
output = helpers.convert_xml_to_json(request_content)
|
||||
else:
|
||||
output = request_content
|
||||
else:
|
||||
logger.warn(u"Failed to access user details. Status code %r" % request_status)
|
||||
return None
|
||||
|
||||
return output
|
||||
|
||||
def get_plextv_server_list(self, output_format=''):
|
||||
url_command = '/pms/servers.xml'
|
||||
http_handler = HTTPSConnection(self.url, timeout=10)
|
||||
|
||||
try:
|
||||
http_handler.request("GET", url_command + '?includeLite=1&X-Plex-Token=' + plexpy.CONFIG.PMS_TOKEN)
|
||||
response = http_handler.getresponse()
|
||||
request_status = response.status
|
||||
request_content = response.read()
|
||||
except IOError, e:
|
||||
logger.warn(u"Failed to access server list. %s" % e)
|
||||
return None
|
||||
|
||||
if request_status == 200:
|
||||
if output_format == 'dict':
|
||||
output = helpers.convert_xml_to_dict(request_content)
|
||||
elif output_format == 'json':
|
||||
output = helpers.convert_xml_to_json(request_content)
|
||||
else:
|
||||
output = request_content
|
||||
else:
|
||||
logger.warn(u"Failed to access server list. Status code %r" % request_status)
|
||||
return None
|
||||
|
||||
return output
|
||||
|
||||
def get_plextv_sync_lists(self, machine_id='', output_format=''):
|
||||
url_command = '/servers/' + machine_id + '/sync_lists'
|
||||
http_handler = HTTPSConnection(self.url, timeout=10)
|
||||
|
||||
try:
|
||||
http_handler.request("GET", url_command + '?X-Plex-Token=' + plexpy.CONFIG.PMS_TOKEN)
|
||||
response = http_handler.getresponse()
|
||||
request_status = response.status
|
||||
request_content = response.read()
|
||||
except IOError, e:
|
||||
logger.warn(u"Failed to access server list. %s" % e)
|
||||
return None
|
||||
|
||||
if request_status == 200:
|
||||
if output_format == 'dict':
|
||||
output = helpers.convert_xml_to_dict(request_content)
|
||||
elif output_format == 'json':
|
||||
output = helpers.convert_xml_to_json(request_content)
|
||||
else:
|
||||
output = request_content
|
||||
else:
|
||||
logger.warn(u"Failed to access server list. Status code %r" % request_status)
|
||||
return None
|
||||
|
||||
return output
|
Loading…
Add table
Add a link
Reference in a new issue