Remove all unused Plex token functions

This commit is contained in:
JonnyWong16 2021-04-10 18:50:27 -07:00
parent 4ed22d96d0
commit dae6c075d1
No known key found for this signature in database
GPG key ID: B1F1F9807184697A
3 changed files with 2 additions and 132 deletions

View file

@ -172,70 +172,6 @@ class PlexTV(object):
ssl_verify=self.ssl_verify, ssl_verify=self.ssl_verify,
headers=headers) headers=headers)
def get_plex_auth(self, output_format='raw'):
uri = '/api/v2/users/signin'
headers = {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Accept': 'application/xml'}
data = {'login': self.username,
'password': self.password,
'rememberMe': True}
request = self.request_handler.make_request(uri=uri,
request_type='POST',
headers=headers,
data=data,
output_format=output_format,
no_token=True,
encode_multipart=False)
return request
def get_token(self):
plextv_response = self.get_plex_auth(output_format='xml')
if plextv_response:
try:
xml_head = plextv_response.getElementsByTagName('user')
if xml_head:
user = {'auth_token': xml_head[0].getAttribute('authToken'),
'user_id': xml_head[0].getAttribute('id')
}
else:
logger.warn("Tautulli PlexTV :: Could not get Plex authentication token.")
except Exception as e:
logger.warn("Tautulli PlexTV :: Unable to parse XML for get_token: %s." % e)
return None
return user
else:
return None
def get_plexpy_pms_token(self, force=False):
if force:
logger.debug("Tautulli PlexTV :: Forcing refresh of Plex.tv token.")
devices_list = self.get_devices_list()
device_id = next((d for d in devices_list if d['device_identifier'] == plexpy.CONFIG.PMS_UUID), {}).get('device_id', None)
if device_id:
logger.debug("Tautulli PlexTV :: Removing Tautulli from Plex.tv devices.")
try:
self.delete_plextv_device(device_id=device_id)
except:
logger.error("Tautulli PlexTV :: Failed to remove Tautulli from Plex.tv devices.")
return None
else:
logger.warn("Tautulli PlexTV :: No existing Tautulli device found.")
logger.info("Tautulli PlexTV :: Fetching a new Plex.tv token for Tautulli.")
user = self.get_token()
if user:
token = user['auth_token']
plexpy.CONFIG.__setattr__('PMS_TOKEN', token)
plexpy.CONFIG.write()
logger.info("Tautulli PlexTV :: Updated Plex.tv token for Tautulli.")
return token
def get_server_token(self): def get_server_token(self):
servers = self.get_plextv_resources(output_format='xml') servers = self.get_plextv_resources(output_format='xml')
server_token = '' server_token = ''
@ -293,14 +229,6 @@ class PlexTV(object):
else: else:
return None return None
def get_plextv_user_data(self):
plextv_response = self.get_plex_auth(output_format='dict')
if plextv_response:
return plextv_response
else:
return []
def get_plextv_friends(self, output_format=''): def get_plextv_friends(self, output_format=''):
uri = '/api/users' uri = '/api/users'
request = self.request_handler.make_request(uri=uri, request = self.request_handler.make_request(uri=uri,

View file

@ -55,18 +55,12 @@ JWT_ALGORITHM = 'HS256'
JWT_COOKIE_NAME = 'tautulli_token_' JWT_COOKIE_NAME = 'tautulli_token_'
def plex_user_login(username=None, password=None, token=None, headers=None): def plex_user_login(token=None, headers=None):
user_token = None user_token = None
user_id = None user_id = None
# Try to login to Plex.tv to check if the user has a vaild account # Try to login to Plex.tv to check if the user has a vaild account
if username and password: if token:
plex_tv = PlexTV(username=username, password=password, headers=headers)
plex_user = plex_tv.get_token()
if plex_user:
user_token = plex_user['auth_token']
user_id = plex_user['user_id']
elif token:
plex_tv = PlexTV(token=token, headers=headers) plex_tv = PlexTV(token=token, headers=headers)
plex_user = plex_tv.get_plex_account_details() plex_user = plex_tv.get_plex_account_details()
if plex_user: if plex_user:
@ -125,9 +119,6 @@ def plex_user_login(username=None, password=None, token=None, headers=None):
logger.warn("Tautulli WebAuth :: Unable to retrieve Plex.tv server token for user '%s'." logger.warn("Tautulli WebAuth :: Unable to retrieve Plex.tv server token for user '%s'."
% user_details['username']) % user_details['username'])
return None return None
elif username:
logger.warn("Tautulli WebAuth :: Unable to retrieve Plex.tv user token for user '%s'." % username)
return None
elif token: elif token:
logger.warn("Tautulli WebAuth :: Unable to retrieve Plex.tv user token for Plex OAuth.") logger.warn("Tautulli WebAuth :: Unable to retrieve Plex.tv user token for Plex OAuth.")

View file

@ -4083,55 +4083,6 @@ class WebInterface(object):
else: else:
return {'result': 'error', 'message': 'Invalid path.'} return {'result': 'error', 'message': 'Invalid path.'}
@cherrypy.expose
@cherrypy.tools.json_out()
@requireAuth(member_of("admin"))
@addtoapi()
def get_pms_token(self, username=None, password=None, **kwargs):
""" Get the user's Plex token used for Tautulli.
```
Required parameters:
username (str): The Plex.tv username
password (str): The Plex.tv password
Optional parameters:
None
Returns:
string: The Plex token used for Tautulli
```
"""
if not username and not password:
return None
plex_tv = plextv.PlexTV(username=username, password=password)
result = plex_tv.get_token()
if result:
return result['auth_token']
else:
logger.warn("Unable to retrieve Plex.tv token.")
return None
@cherrypy.expose
@cherrypy.tools.json_out()
@requireAuth(member_of("admin"))
def get_plexpy_pms_token(self, username=None, password=None, force=False, **kwargs):
""" Fetch a new Plex.tv token for Tautulli """
if not username and not password:
return None
force = helpers.bool_true(force)
plex_tv = plextv.PlexTV(username=username, password=password)
token = plex_tv.get_plexpy_pms_token(force=force)
if token:
return {'result': 'success', 'message': 'Authentication successful.', 'token': token}
else:
return {'result': 'error', 'message': 'Authentication failed.'}
@cherrypy.expose @cherrypy.expose
@cherrypy.tools.json_out() @cherrypy.tools.json_out()
@requireAuth(member_of("admin")) @requireAuth(member_of("admin"))