mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-08 06:00:51 -07:00
Remove all unused Plex token functions
This commit is contained in:
parent
4ed22d96d0
commit
dae6c075d1
3 changed files with 2 additions and 132 deletions
|
@ -172,70 +172,6 @@ class PlexTV(object):
|
|||
ssl_verify=self.ssl_verify,
|
||||
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):
|
||||
servers = self.get_plextv_resources(output_format='xml')
|
||||
server_token = ''
|
||||
|
@ -293,14 +229,6 @@ class PlexTV(object):
|
|||
else:
|
||||
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=''):
|
||||
uri = '/api/users'
|
||||
request = self.request_handler.make_request(uri=uri,
|
||||
|
|
|
@ -55,18 +55,12 @@ JWT_ALGORITHM = 'HS256'
|
|||
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_id = None
|
||||
|
||||
# Try to login to Plex.tv to check if the user has a vaild account
|
||||
if username and password:
|
||||
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:
|
||||
if token:
|
||||
plex_tv = PlexTV(token=token, headers=headers)
|
||||
plex_user = plex_tv.get_plex_account_details()
|
||||
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'."
|
||||
% user_details['username'])
|
||||
return None
|
||||
elif username:
|
||||
logger.warn("Tautulli WebAuth :: Unable to retrieve Plex.tv user token for user '%s'." % username)
|
||||
return None
|
||||
|
||||
elif token:
|
||||
logger.warn("Tautulli WebAuth :: Unable to retrieve Plex.tv user token for Plex OAuth.")
|
||||
|
|
|
@ -4083,55 +4083,6 @@ class WebInterface(object):
|
|||
else:
|
||||
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.tools.json_out()
|
||||
@requireAuth(member_of("admin"))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue