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