mirror of
https://github.com/LukeHagar/Warden.git
synced 2025-12-07 12:57:49 +00:00
Cleaning
This commit is contained in:
@@ -1,201 +0,0 @@
|
|||||||
class PlexTV(object):
|
|
||||||
"""
|
|
||||||
Plex.tv authentication
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __init__(self, username=None, password=None, token=None, headers=None):
|
|
||||||
self.username = username
|
|
||||||
self.password = password
|
|
||||||
self.token = token
|
|
||||||
|
|
||||||
self.urls = 'https://plex.tv'
|
|
||||||
self.timeout = plexpy.CONFIG.PMS_TIMEOUT
|
|
||||||
self.ssl_verify = plexpy.CONFIG.VERIFY_SSL_CERT
|
|
||||||
|
|
||||||
if self.username is None and self.password is None:
|
|
||||||
if not self.token:
|
|
||||||
# Check if we should use the admin token, or the guest server token
|
|
||||||
if session.get_session_user_id():
|
|
||||||
user_data = users.Users()
|
|
||||||
user_tokens = user_data.get_tokens(user_id=session.get_session_user_id())
|
|
||||||
self.token = user_tokens['server_token']
|
|
||||||
else:
|
|
||||||
self.token = plexpy.CONFIG.PMS_TOKEN
|
|
||||||
|
|
||||||
if not self.token:
|
|
||||||
logger.error("Tautulli PlexTV :: PlexTV called, but no token provided.")
|
|
||||||
return
|
|
||||||
|
|
||||||
self.request_handler = http_handler.HTTPHandler(urls=self.urls,
|
|
||||||
token=self.token,
|
|
||||||
timeout=self.timeout,
|
|
||||||
ssl_verify=self.ssl_verify,
|
|
||||||
headers=headers)
|
|
||||||
|
|
||||||
def get_server_token(self):
|
|
||||||
servers = self.get_plextv_resources(output_format='xml')
|
|
||||||
server_token = ''
|
|
||||||
|
|
||||||
try:
|
|
||||||
xml_head = servers.getElementsByTagName('Device')
|
|
||||||
except Exception as e:
|
|
||||||
logger.warn("Tautulli PlexTV :: Unable to parse XML for get_server_token: %s." % e)
|
|
||||||
return None
|
|
||||||
|
|
||||||
for a in xml_head:
|
|
||||||
if helpers.get_xml_attr(a, 'clientIdentifier') == plexpy.CONFIG.PMS_IDENTIFIER \
|
|
||||||
and 'server' in helpers.get_xml_attr(a, 'provides'):
|
|
||||||
server_token = helpers.get_xml_attr(a, 'accessToken')
|
|
||||||
break
|
|
||||||
|
|
||||||
return server_token
|
|
||||||
|
|
||||||
def get_plextv_pin(self, pin='', output_format=''):
|
|
||||||
if pin:
|
|
||||||
uri = '/api/v2/pins/' + pin
|
|
||||||
request = self.request_handler.make_request(uri=uri,
|
|
||||||
request_type='GET',
|
|
||||||
output_format=output_format,
|
|
||||||
no_token=True)
|
|
||||||
else:
|
|
||||||
uri = '/api/v2/pins?strong=true'
|
|
||||||
request = self.request_handler.make_request(uri=uri,
|
|
||||||
request_type='POST',
|
|
||||||
output_format=output_format,
|
|
||||||
no_token=True)
|
|
||||||
return request
|
|
||||||
|
|
||||||
def get_pin(self, pin=''):
|
|
||||||
plextv_response = self.get_plextv_pin(pin=pin,
|
|
||||||
output_format='xml')
|
|
||||||
|
|
||||||
if plextv_response:
|
|
||||||
try:
|
|
||||||
xml_head = plextv_response.getElementsByTagName('pin')
|
|
||||||
if xml_head:
|
|
||||||
pin = {'id': xml_head[0].getAttribute('id'),
|
|
||||||
'code': xml_head[0].getAttribute('code'),
|
|
||||||
'token': xml_head[0].getAttribute('authToken')
|
|
||||||
}
|
|
||||||
return pin
|
|
||||||
else:
|
|
||||||
logger.warn("Tautulli PlexTV :: Could not get Plex authentication pin.")
|
|
||||||
return None
|
|
||||||
|
|
||||||
except Exception as e:
|
|
||||||
logger.warn("Tautulli PlexTV :: Unable to parse XML for get_pin: %s." % e)
|
|
||||||
return None
|
|
||||||
|
|
||||||
else:
|
|
||||||
return None
|
|
||||||
|
|
||||||
def get_plextv_friends(self, output_format=''):
|
|
||||||
uri = '/api/users'
|
|
||||||
request = self.request_handler.make_request(uri=uri,
|
|
||||||
request_type='GET',
|
|
||||||
output_format=output_format)
|
|
||||||
|
|
||||||
return request
|
|
||||||
|
|
||||||
def get_plextv_user_details(self, output_format=''):
|
|
||||||
uri = '/users/account'
|
|
||||||
request = self.request_handler.make_request(uri=uri,
|
|
||||||
request_type='GET',
|
|
||||||
output_format=output_format)
|
|
||||||
|
|
||||||
return request
|
|
||||||
|
|
||||||
def get_plextv_devices_list(self, output_format=''):
|
|
||||||
uri = '/devices.xml'
|
|
||||||
request = self.request_handler.make_request(uri=uri,
|
|
||||||
request_type='GET',
|
|
||||||
output_format=output_format)
|
|
||||||
|
|
||||||
return request
|
|
||||||
|
|
||||||
def get_plextv_server_list(self, output_format=''):
|
|
||||||
uri = '/pms/servers.xml'
|
|
||||||
request = self.request_handler.make_request(uri=uri,
|
|
||||||
request_type='GET',
|
|
||||||
output_format=output_format)
|
|
||||||
|
|
||||||
return request
|
|
||||||
|
|
||||||
def get_plextv_shared_servers(self, machine_id='', output_format=''):
|
|
||||||
uri = '/api/servers/%s/shared_servers' % machine_id
|
|
||||||
request = self.request_handler.make_request(uri=uri,
|
|
||||||
request_type='GET',
|
|
||||||
output_format=output_format)
|
|
||||||
|
|
||||||
return request
|
|
||||||
|
|
||||||
def get_plextv_sync_lists(self, machine_id='', output_format=''):
|
|
||||||
uri = '/servers/%s/sync_lists' % machine_id
|
|
||||||
request = self.request_handler.make_request(uri=uri,
|
|
||||||
request_type='GET',
|
|
||||||
output_format=output_format)
|
|
||||||
|
|
||||||
return request
|
|
||||||
|
|
||||||
def get_plextv_resources(self, include_https=False, return_response=False, output_format=''):
|
|
||||||
if include_https:
|
|
||||||
uri = '/api/resources?includeHttps=1'
|
|
||||||
else:
|
|
||||||
uri = '/api/resources'
|
|
||||||
request = self.request_handler.make_request(uri=uri,
|
|
||||||
request_type='GET',
|
|
||||||
return_response=return_response,
|
|
||||||
output_format=output_format)
|
|
||||||
|
|
||||||
return request
|
|
||||||
|
|
||||||
def get_plextv_downloads(self, plexpass=False, output_format=''):
|
|
||||||
if plexpass:
|
|
||||||
uri = '/api/downloads/5.json?channel=plexpass'
|
|
||||||
else:
|
|
||||||
uri = '/api/downloads/1.json'
|
|
||||||
request = self.request_handler.make_request(uri=uri,
|
|
||||||
request_type='GET',
|
|
||||||
output_format=output_format)
|
|
||||||
|
|
||||||
return request
|
|
||||||
|
|
||||||
def delete_plextv_device(self, device_id='', output_format=''):
|
|
||||||
uri = '/devices/%s.xml' % device_id
|
|
||||||
request = self.request_handler.make_request(uri=uri,
|
|
||||||
request_type='DELETE',
|
|
||||||
output_format=output_format)
|
|
||||||
|
|
||||||
return request
|
|
||||||
|
|
||||||
def delete_plextv_device_sync_lists(self, client_id='', output_format=''):
|
|
||||||
uri = '/devices/%s/sync_items' % client_id
|
|
||||||
request = self.request_handler.make_request(uri=uri,
|
|
||||||
request_type='GET',
|
|
||||||
output_format=output_format)
|
|
||||||
|
|
||||||
return request
|
|
||||||
|
|
||||||
def delete_plextv_sync(self, client_id='', sync_id=''):
|
|
||||||
uri = '/devices/%s/sync_items/%s' % (client_id, sync_id)
|
|
||||||
request = self.request_handler.make_request(uri=uri,
|
|
||||||
request_type='DELETE',
|
|
||||||
return_response=True)
|
|
||||||
|
|
||||||
return request
|
|
||||||
|
|
||||||
def cloud_server_status(self, output_format=''):
|
|
||||||
uri = '/api/v2/cloud_server'
|
|
||||||
request = self.request_handler.make_request(uri=uri,
|
|
||||||
request_type='GET',
|
|
||||||
output_format=output_format)
|
|
||||||
|
|
||||||
return request
|
|
||||||
|
|
||||||
def get_plextv_geoip(self, ip_address='', output_format=''):
|
|
||||||
uri = '/api/v2/geoip?ip_address=%s' % ip_address
|
|
||||||
request = self.request_handler.make_request(uri=uri,
|
|
||||||
request_type='GET',
|
|
||||||
output_format=output_format)
|
|
||||||
|
|
||||||
return request
|
|
||||||
14
release/app/package-lock.json
generated
14
release/app/package-lock.json
generated
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "electron-react-boilerplate",
|
|
||||||
"version": "4.6.0",
|
|
||||||
"lockfileVersion": 2,
|
|
||||||
"requires": true,
|
|
||||||
"packages": {
|
|
||||||
"": {
|
|
||||||
"name": "electron-react-boilerplate",
|
|
||||||
"version": "4.6.0",
|
|
||||||
"hasInstallScript": true,
|
|
||||||
"license": "MIT"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "electron-react-boilerplate",
|
|
||||||
"version": "4.6.0",
|
|
||||||
"description": "A foundation for scalable desktop apps",
|
|
||||||
"license": "MIT",
|
|
||||||
"author": {
|
|
||||||
"name": "Electron React Boilerplate Maintainers",
|
|
||||||
"email": "electronreactboilerplate@gmail.com",
|
|
||||||
"url": "https://github.com/electron-react-boilerplate"
|
|
||||||
},
|
|
||||||
"main": "./dist/main/main.js",
|
|
||||||
"scripts": {
|
|
||||||
"electron-rebuild": "node -r ts-node/register ../../.erb/scripts/electron-rebuild.js",
|
|
||||||
"postinstall": "npm run electron-rebuild && npm run link-modules",
|
|
||||||
"link-modules": "node -r ts-node/register ../../.erb/scripts/link-modules.ts"
|
|
||||||
},
|
|
||||||
"dependencies": {}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user