From 1e616fa585d1b64e58b7da0208a2ca032146399e Mon Sep 17 00:00:00 2001 From: JonnyWong16 Date: Wed, 30 Dec 2015 12:59:52 -0800 Subject: [PATCH] Allow SSL when verifying server in settings --- data/interfaces/default/settings.html | 5 ++++- data/interfaces/default/welcome.html | 5 ++++- plexpy/webserve.py | 24 ++++++++++++++---------- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/data/interfaces/default/settings.html b/data/interfaces/default/settings.html index 2683860b..2251df3b 100644 --- a/data/interfaces/default/settings.html +++ b/data/interfaces/default/settings.html @@ -1422,12 +1422,15 @@ $(document).ready(function() { function verifyServer(_callback) { var pms_ip = $("#pms_ip").val() var pms_port = $("#pms_port").val() + var pms_identifier = $("#pms_identifier").val() + var pms_ssl = $("#pms_ssl").val() + var pms_is_remote = $("#pms_is_remote").val() if (($("#pms_ip").val() !== '') || ($("#pms_port").val() !== '')) { $("#pms-verify").html(''); $('#pms-verify').fadeIn('fast'); $.ajax({ url: 'get_server_id', - data : { hostname: pms_ip, port: pms_port }, + data : { hostname: pms_ip, port: pms_port, identifier: pms_identifier, ssl: pms_ssl, remote: pms_is_remote }, cache: true, async: true, timeout: 5000, diff --git a/data/interfaces/default/welcome.html b/data/interfaces/default/welcome.html index 93a5b518..10654801 100644 --- a/data/interfaces/default/welcome.html +++ b/data/interfaces/default/welcome.html @@ -372,12 +372,15 @@ from plexpy import common $("#verify-plex-server").click(function() { var pms_ip = $("#pms_ip").val() var pms_port = $("#pms_port").val() + var pms_identifier = $("#pms_identifier").val() + var pms_ssl = $("#pms_ssl").val() + var pms_is_remote = $("#pms_is_remote").val() if (($("#pms_ip").val() !== '') || ($("#pms_port").val() !== '')) { $("#pms-verify-status").html(' Validating server...'); $('#pms-verify-status').fadeIn('fast'); $.ajax({ url: 'get_server_id', - data : { hostname: pms_ip, port: pms_port }, + data : { hostname: pms_ip, port: pms_port, identifier: pms_identifier, ssl: pms_ssl, remote: pms_is_remote }, cache: true, async: true, timeout: 5000, diff --git a/plexpy/webserve.py b/plexpy/webserve.py index 542147d7..f2bef4ae 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -1335,19 +1335,23 @@ class WebInterface(object): return serve_template(templatename="plexwatch_import.html", title="Import PlexWatch Database") @cherrypy.expose - def get_server_id(self, hostname=None, port=None, **kwargs): + def get_server_id(self, hostname=None, port=None, identifier=None, ssl=0, remote=0, **kwargs): from plexpy import http_handler if hostname and port: - request_handler = http_handler.HTTPHandler(host=hostname, - port=port, - token=None) - uri = '/identity' - request = request_handler.make_request(uri=uri, - proto='http', - request_type='GET', - output_format='', - no_token=True) + # Set PMS attributes to get the real PMS url + plexpy.CONFIG.__setattr__('PMS_IP', hostname) + plexpy.CONFIG.__setattr__('PMS_PORT', port) + plexpy.CONFIG.__setattr__('PMS_IDENTIFIER', identifier) + plexpy.CONFIG.__setattr__('PMS_SSL', ssl) + plexpy.CONFIG.__setattr__('PMS_IS_REMOTE', remote) + plexpy.CONFIG.write() + + plextv.get_real_pms_url() + + pms_connect = pmsconnect.PmsConnect() + request = pms_connect.get_local_server_identity() + if request: cherrypy.response.headers['Content-type'] = 'application/xml' return request