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,
|
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,
|
||||||
|
|
|
@ -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.")
|
||||||
|
|
|
@ -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"))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue