mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-06 21:21:15 -07:00
Remove pms_is_remote setting
* Automatically determine if a server is local or remote
This commit is contained in:
parent
5778672dab
commit
912fd75a2f
4 changed files with 14 additions and 56 deletions
|
@ -767,7 +767,6 @@
|
||||||
data-identifier="${config['pms_identifier']}"
|
data-identifier="${config['pms_identifier']}"
|
||||||
data-ip="${config['pms_ip']}"
|
data-ip="${config['pms_ip']}"
|
||||||
data-port="${config['pms_port']}"
|
data-port="${config['pms_port']}"
|
||||||
data-local="${int(not int(config['pms_is_remote']))}"
|
|
||||||
data-ssl="${config['pms_ssl']}"
|
data-ssl="${config['pms_ssl']}"
|
||||||
data-is_cloud="${config['pms_is_cloud']}"
|
data-is_cloud="${config['pms_is_cloud']}"
|
||||||
data-label="${config['pms_name'] or 'Local'}"
|
data-label="${config['pms_name'] or 'Local'}"
|
||||||
|
@ -800,13 +799,6 @@
|
||||||
</label>
|
</label>
|
||||||
<p class="help-block">Connect to your Plex server using HTTPS if you have <a href="${anon_url('https://support.plex.tv/articles/206225077-how-to-use-secure-server-connections')}" target="_blank" rel="noreferrer">secure connections</a> enabled.</p>
|
<p class="help-block">Connect to your Plex server using HTTPS if you have <a href="${anon_url('https://support.plex.tv/articles/206225077-how-to-use-secure-server-connections')}" target="_blank" rel="noreferrer">secure connections</a> enabled.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="checkbox">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" id="pms_is_remote_checkbox" class="checkbox-toggle pms-settings" data-id="pms_is_remote" value="1" ${checked(config['pms_is_remote'])}> Remote Server
|
|
||||||
<input type="hidden" id="pms_is_remote" name="pms_is_remote" value="${config['pms_is_remote']}">
|
|
||||||
</label>
|
|
||||||
<p class="help-block">Check this if your Plex Server is not on the same local network as Tautulli.</p>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="pms_url">Plex Server URL</label>
|
<label for="pms_url">Plex Server URL</label>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@ -2597,7 +2589,6 @@ $(document).ready(function() {
|
||||||
return '<div data-identifier="' + item.clientIdentifier +
|
return '<div data-identifier="' + item.clientIdentifier +
|
||||||
'" data-ip="' + item.ip +
|
'" data-ip="' + item.ip +
|
||||||
'" data-port="' + item.port +
|
'" data-port="' + item.port +
|
||||||
'" data-local="' + item.local +
|
|
||||||
'" data-ssl="' + item.httpsRequired +
|
'" data-ssl="' + item.httpsRequired +
|
||||||
'" data-is_cloud="' + item.is_cloud +
|
'" data-is_cloud="' + item.is_cloud +
|
||||||
'" data-label="' + item.label + '">' +
|
'" data-label="' + item.label + '">' +
|
||||||
|
@ -2611,7 +2602,6 @@ $(document).ready(function() {
|
||||||
return '<div data-identifier="' + item.clientIdentifier +
|
return '<div data-identifier="' + item.clientIdentifier +
|
||||||
'" data-ip="' + item.ip +
|
'" data-ip="' + item.ip +
|
||||||
'" data-port="' + item.port +
|
'" data-port="' + item.port +
|
||||||
'" data-local="' + item.local +
|
|
||||||
'" data-ssl="' + item.httpsRequired +
|
'" data-ssl="' + item.httpsRequired +
|
||||||
'" data-is_cloud="' + item.is_cloud +
|
'" data-is_cloud="' + item.is_cloud +
|
||||||
'" data-label="' + item.label + '">' +
|
'" data-label="' + item.label + '">' +
|
||||||
|
@ -2634,7 +2624,6 @@ $(document).ready(function() {
|
||||||
var identifier = $(pms_ip_selected).data('identifier');
|
var identifier = $(pms_ip_selected).data('identifier');
|
||||||
var ip = $(pms_ip_selected).data('ip');
|
var ip = $(pms_ip_selected).data('ip');
|
||||||
var port = $(pms_ip_selected).data('port');
|
var port = $(pms_ip_selected).data('port');
|
||||||
var local = $(pms_ip_selected).data('local');
|
|
||||||
var ssl = $(pms_ip_selected).data('ssl');
|
var ssl = $(pms_ip_selected).data('ssl');
|
||||||
var is_cloud = $(pms_ip_selected).data('is_cloud');
|
var is_cloud = $(pms_ip_selected).data('is_cloud');
|
||||||
var value = $(pms_ip_selected).data('value');
|
var value = $(pms_ip_selected).data('value');
|
||||||
|
@ -2642,8 +2631,6 @@ $(document).ready(function() {
|
||||||
$("#pms_identifier").val(identifier !== 'undefined' ? identifier : '');
|
$("#pms_identifier").val(identifier !== 'undefined' ? identifier : '');
|
||||||
$('#pms_ip').val(ip !== 'undefined' ? ip : value);
|
$('#pms_ip').val(ip !== 'undefined' ? ip : value);
|
||||||
$('#pms_port').val(port !== 'undefined' ? port : 32400);
|
$('#pms_port').val(port !== 'undefined' ? port : 32400);
|
||||||
$('#pms_is_remote_checkbox').prop('checked', (local !== 'undefined' && local === 0));
|
|
||||||
$('#pms_is_remote').val(local !== 'undefined' && local === 0 ? 1 : 0);
|
|
||||||
$('#pms_ssl_checkbox').prop('checked', (ssl !== 'undefined' && ssl === 1));
|
$('#pms_ssl_checkbox').prop('checked', (ssl !== 'undefined' && ssl === 1));
|
||||||
$('#pms_ssl').val(ssl !== 'undefined' && ssl === 1 ? 1 : 0);
|
$('#pms_ssl').val(ssl !== 'undefined' && ssl === 1 ? 1 : 0);
|
||||||
$('#pms_is_cloud').val(is_cloud !== 'undefined' && is_cloud === true ? 1 : 0);
|
$('#pms_is_cloud').val(is_cloud !== 'undefined' && is_cloud === true ? 1 : 0);
|
||||||
|
@ -2681,7 +2668,6 @@ $(document).ready(function() {
|
||||||
var pms_port = $("#pms_port").val();
|
var pms_port = $("#pms_port").val();
|
||||||
var pms_identifier = $("#pms_identifier").val();
|
var pms_identifier = $("#pms_identifier").val();
|
||||||
var pms_ssl = $("#pms_ssl").val();
|
var pms_ssl = $("#pms_ssl").val();
|
||||||
var pms_is_remote = $("#pms_is_remote").val();
|
|
||||||
var pms_url_manual = $("#pms_url_manual").is(':checked') ? 1 : 0;
|
var pms_url_manual = $("#pms_url_manual").is(':checked') ? 1 : 0;
|
||||||
|
|
||||||
if (($("#pms_ip").val() !== '') || ($("#pms_port").val() !== '')) {
|
if (($("#pms_ip").val() !== '') || ($("#pms_port").val() !== '')) {
|
||||||
|
@ -2693,7 +2679,6 @@ $(document).ready(function() {
|
||||||
hostname: pms_ip,
|
hostname: pms_ip,
|
||||||
port: pms_port,
|
port: pms_port,
|
||||||
ssl: pms_ssl,
|
ssl: pms_ssl,
|
||||||
remote: pms_is_remote,
|
|
||||||
manual: pms_url_manual,
|
manual: pms_url_manual,
|
||||||
get_url: true,
|
get_url: true,
|
||||||
test_websocket: true
|
test_websocket: true
|
||||||
|
|
|
@ -135,7 +135,6 @@
|
||||||
data-identifier="${config['pms_identifier']}"
|
data-identifier="${config['pms_identifier']}"
|
||||||
data-ip="${config['pms_ip']}"
|
data-ip="${config['pms_ip']}"
|
||||||
data-port="${config['pms_port']}"
|
data-port="${config['pms_port']}"
|
||||||
data-local="${int(not int(config['pms_is_remote']))}"
|
|
||||||
data-ssl="${config['pms_ssl']}"
|
data-ssl="${config['pms_ssl']}"
|
||||||
data-is_cloud="${config['pms_is_cloud']}"
|
data-is_cloud="${config['pms_is_cloud']}"
|
||||||
data-label="${config['pms_name'] or 'Local'}"
|
data-label="${config['pms_name'] or 'Local'}"
|
||||||
|
@ -159,14 +158,6 @@
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-4">
|
|
||||||
<div class="checkbox">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" id="pms_is_remote_checkbox" class="checkbox-toggle pms-settings" data-id="pms_is_remote" value="1" ${helpers.checked(config['pms_is_remote'])}> Remote Server
|
|
||||||
<input type="hidden" id="pms_is_remote" name="pms_is_remote" value="${config['pms_is_remote']}">
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<input type="hidden" id="pms_valid" data-validate="validatePMSip" value="">
|
<input type="hidden" id="pms_valid" data-validate="validatePMSip" value="">
|
||||||
|
@ -391,7 +382,6 @@ $(document).ready(function() {
|
||||||
return '<div data-identifier="' + item.clientIdentifier +
|
return '<div data-identifier="' + item.clientIdentifier +
|
||||||
'" data-ip="' + item.ip +
|
'" data-ip="' + item.ip +
|
||||||
'" data-port="' + item.port +
|
'" data-port="' + item.port +
|
||||||
'" data-local="' + item.local +
|
|
||||||
'" data-ssl="' + item.httpsRequired +
|
'" data-ssl="' + item.httpsRequired +
|
||||||
'" data-is_cloud="' + item.is_cloud +
|
'" data-is_cloud="' + item.is_cloud +
|
||||||
'" data-label="' + item.label + '">' +
|
'" data-label="' + item.label + '">' +
|
||||||
|
@ -405,7 +395,6 @@ $(document).ready(function() {
|
||||||
return '<div data-identifier="' + item.clientIdentifier +
|
return '<div data-identifier="' + item.clientIdentifier +
|
||||||
'" data-ip="' + item.ip +
|
'" data-ip="' + item.ip +
|
||||||
'" data-port="' + item.port +
|
'" data-port="' + item.port +
|
||||||
'" data-local="' + item.local +
|
|
||||||
'" data-ssl="' + item.httpsRequired +
|
'" data-ssl="' + item.httpsRequired +
|
||||||
'" data-is_cloud="' + item.is_cloud +
|
'" data-is_cloud="' + item.is_cloud +
|
||||||
'" data-label="' + item.label + '">' +
|
'" data-label="' + item.label + '">' +
|
||||||
|
@ -428,7 +417,6 @@ $(document).ready(function() {
|
||||||
var identifier = $(pms_ip_selected).data('identifier');
|
var identifier = $(pms_ip_selected).data('identifier');
|
||||||
var ip = $(pms_ip_selected).data('ip');
|
var ip = $(pms_ip_selected).data('ip');
|
||||||
var port = $(pms_ip_selected).data('port');
|
var port = $(pms_ip_selected).data('port');
|
||||||
var local = $(pms_ip_selected).data('local');
|
|
||||||
var ssl = $(pms_ip_selected).data('ssl');
|
var ssl = $(pms_ip_selected).data('ssl');
|
||||||
var is_cloud = $(pms_ip_selected).data('is_cloud');
|
var is_cloud = $(pms_ip_selected).data('is_cloud');
|
||||||
var value = $(pms_ip_selected).data('value');
|
var value = $(pms_ip_selected).data('value');
|
||||||
|
@ -439,19 +427,15 @@ $(document).ready(function() {
|
||||||
$("#pms_identifier").val(identifier !== 'undefined' ? identifier : '');
|
$("#pms_identifier").val(identifier !== 'undefined' ? identifier : '');
|
||||||
$('#pms_ip').val(ip !== 'undefined' ? ip : value);
|
$('#pms_ip').val(ip !== 'undefined' ? ip : value);
|
||||||
$('#pms_port').val(port !== 'undefined' ? port : 32400);
|
$('#pms_port').val(port !== 'undefined' ? port : 32400);
|
||||||
$('#pms_is_remote_checkbox').prop('checked', (local !== 'undefined' && local === 0));
|
|
||||||
$('#pms_is_remote').val(local !== 'undefined' && local === 0 ? 1 : 0);
|
|
||||||
$('#pms_ssl_checkbox').prop('checked', (ssl !== 'undefined' && ssl === 1));
|
$('#pms_ssl_checkbox').prop('checked', (ssl !== 'undefined' && ssl === 1));
|
||||||
$('#pms_ssl').val(ssl !== 'undefined' && ssl === 1 ? 1 : 0);
|
$('#pms_ssl').val(ssl !== 'undefined' && ssl === 1 ? 1 : 0);
|
||||||
$('#pms_is_cloud').val(is_cloud !== 'undefined' && is_cloud === true ? 1 : 0);
|
$('#pms_is_cloud').val(is_cloud !== 'undefined' && is_cloud === true ? 1 : 0);
|
||||||
|
|
||||||
if (is_cloud === true) {
|
if (is_cloud === true) {
|
||||||
$('#pms_port').prop('readonly', true);
|
$('#pms_port').prop('readonly', true);
|
||||||
$('#pms_is_remote_checkbox').prop('disabled', true);
|
|
||||||
$('#pms_ssl_checkbox').prop('disabled', true);
|
$('#pms_ssl_checkbox').prop('disabled', true);
|
||||||
} else {
|
} else {
|
||||||
$('#pms_port').prop('readonly', false);
|
$('#pms_port').prop('readonly', false);
|
||||||
$('#pms_is_remote_checkbox').prop('disabled', false);
|
|
||||||
$('#pms_ssl_checkbox').prop('disabled', false);
|
$('#pms_ssl_checkbox').prop('disabled', false);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -488,7 +472,6 @@ $(document).ready(function() {
|
||||||
var pms_port = $("#pms_port").val().trim();
|
var pms_port = $("#pms_port").val().trim();
|
||||||
var pms_identifier = $("#pms_identifier").val();
|
var pms_identifier = $("#pms_identifier").val();
|
||||||
var pms_ssl = $("#pms_ssl").val();
|
var pms_ssl = $("#pms_ssl").val();
|
||||||
var pms_is_remote = $("#pms_is_remote").val();
|
|
||||||
if ((pms_ip !== '') || (pms_port !== '')) {
|
if ((pms_ip !== '') || (pms_port !== '')) {
|
||||||
$("#pms-verify-status").html('<i class="fa fa-refresh fa-spin"></i> Verifying server...');
|
$("#pms-verify-status").html('<i class="fa fa-refresh fa-spin"></i> Verifying server...');
|
||||||
$('#pms-verify-status').fadeIn('fast');
|
$('#pms-verify-status').fadeIn('fast');
|
||||||
|
@ -498,8 +481,7 @@ $(document).ready(function() {
|
||||||
hostname: pms_ip,
|
hostname: pms_ip,
|
||||||
port: pms_port,
|
port: pms_port,
|
||||||
identifier: pms_identifier,
|
identifier: pms_identifier,
|
||||||
ssl: pms_ssl,
|
ssl: pms_ssl
|
||||||
remote: pms_is_remote
|
|
||||||
},
|
},
|
||||||
cache: true,
|
cache: true,
|
||||||
async: true,
|
async: true,
|
||||||
|
|
|
@ -39,7 +39,6 @@ def get_server_resources(return_presence=False, return_server=False, return_info
|
||||||
'pms_ip': plexpy.CONFIG.PMS_IP,
|
'pms_ip': plexpy.CONFIG.PMS_IP,
|
||||||
'pms_port': plexpy.CONFIG.PMS_PORT,
|
'pms_port': plexpy.CONFIG.PMS_PORT,
|
||||||
'pms_ssl': plexpy.CONFIG.PMS_SSL,
|
'pms_ssl': plexpy.CONFIG.PMS_SSL,
|
||||||
'pms_is_remote': plexpy.CONFIG.PMS_IS_REMOTE,
|
|
||||||
'pms_is_cloud': plexpy.CONFIG.PMS_IS_CLOUD,
|
'pms_is_cloud': plexpy.CONFIG.PMS_IS_CLOUD,
|
||||||
'pms_url': plexpy.CONFIG.PMS_URL,
|
'pms_url': plexpy.CONFIG.PMS_URL,
|
||||||
'pms_url_manual': plexpy.CONFIG.PMS_URL_MANUAL,
|
'pms_url_manual': plexpy.CONFIG.PMS_URL_MANUAL,
|
||||||
|
@ -52,7 +51,7 @@ def get_server_resources(return_presence=False, return_server=False, return_info
|
||||||
|
|
||||||
if kwargs:
|
if kwargs:
|
||||||
server.update(kwargs)
|
server.update(kwargs)
|
||||||
for k in ['pms_ssl', 'pms_is_remote', 'pms_is_cloud', 'pms_url_manual']:
|
for k in ['pms_ssl', 'pms_is_cloud', 'pms_url_manual']:
|
||||||
server[k] = int(server[k])
|
server[k] = int(server[k])
|
||||||
|
|
||||||
if server['pms_url_manual'] and server['pms_ssl'] or server['pms_is_cloud']:
|
if server['pms_url_manual'] and server['pms_ssl'] or server['pms_is_cloud']:
|
||||||
|
@ -88,30 +87,25 @@ def get_server_resources(return_presence=False, return_server=False, return_info
|
||||||
# Only need to retrieve PMS_URL if using SSL
|
# Only need to retrieve PMS_URL if using SSL
|
||||||
if not server['pms_url_manual'] and server['pms_ssl']:
|
if not server['pms_url_manual'] and server['pms_ssl']:
|
||||||
if connections:
|
if connections:
|
||||||
if server['pms_is_remote']:
|
# Get connection with matching address, otherwise return first connection
|
||||||
# Get all remote connections
|
connection = next(
|
||||||
conns = [c for c in connections if
|
(c for c in connections if c['address'] == server['pms_ip'] and c['port'] == str(server['pms_port'])),
|
||||||
c['local'] == '0' and ('plex.direct' in c['uri'] or 'plex.service' in c['uri'])]
|
connections[0]
|
||||||
else:
|
)
|
||||||
# Get all local connections
|
server['pms_url'] = connection['uri']
|
||||||
conns = [c for c in connections if
|
server['pms_is_remote'] = int(connection['local'] == '0')
|
||||||
c['local'] == '1' and ('plex.direct' in c['uri'] or 'plex.service' in c['uri'])]
|
logger.info("Tautulli PlexTV :: Server URL retrieved.")
|
||||||
|
|
||||||
if conns:
|
|
||||||
# Get connection with matching address, otherwise return first connection
|
|
||||||
conn = next((c for c in conns if c['address'] == server['pms_ip']
|
|
||||||
and c['port'] == str(server['pms_port'])), conns[0])
|
|
||||||
server['pms_url'] = conn['uri']
|
|
||||||
logger.info("Tautulli PlexTV :: Server URL retrieved.")
|
|
||||||
|
|
||||||
# get_server_urls() failed or PMS_URL not found, fallback url doesn't use SSL
|
# get_server_urls() failed or PMS_URL not found, fallback url doesn't use SSL
|
||||||
if not server['pms_url']:
|
if not server['pms_url']:
|
||||||
server['pms_url'] = fallback_url
|
server['pms_url'] = fallback_url
|
||||||
|
server['pms_is_remote'] = 0
|
||||||
logger.warn("Tautulli PlexTV :: Unable to retrieve server URLs. Using user-defined value without SSL.")
|
logger.warn("Tautulli PlexTV :: Unable to retrieve server URLs. Using user-defined value without SSL.")
|
||||||
|
|
||||||
# Not using SSL, remote has no effect
|
# Not using SSL
|
||||||
else:
|
else:
|
||||||
server['pms_url'] = fallback_url
|
server['pms_url'] = fallback_url
|
||||||
|
server['pms_is_remote'] = 0
|
||||||
logger.info("Tautulli PlexTV :: Using user-defined URL.")
|
logger.info("Tautulli PlexTV :: Using user-defined URL.")
|
||||||
|
|
||||||
if return_server:
|
if return_server:
|
||||||
|
|
|
@ -175,7 +175,6 @@ class WebInterface(object):
|
||||||
"pms_identifier": plexpy.CONFIG.PMS_IDENTIFIER,
|
"pms_identifier": plexpy.CONFIG.PMS_IDENTIFIER,
|
||||||
"pms_ip": plexpy.CONFIG.PMS_IP,
|
"pms_ip": plexpy.CONFIG.PMS_IP,
|
||||||
"pms_port": plexpy.CONFIG.PMS_PORT,
|
"pms_port": plexpy.CONFIG.PMS_PORT,
|
||||||
"pms_is_remote": plexpy.CONFIG.PMS_IS_REMOTE,
|
|
||||||
"pms_ssl": plexpy.CONFIG.PMS_SSL,
|
"pms_ssl": plexpy.CONFIG.PMS_SSL,
|
||||||
"pms_is_cloud": plexpy.CONFIG.PMS_IS_CLOUD,
|
"pms_is_cloud": plexpy.CONFIG.PMS_IS_CLOUD,
|
||||||
"pms_name": helpers.pms_name(),
|
"pms_name": helpers.pms_name(),
|
||||||
|
@ -3247,7 +3246,6 @@ class WebInterface(object):
|
||||||
|
|
||||||
# If we change the SSL setting for PMS or PMS remote setting, make sure we grab the new url.
|
# If we change the SSL setting for PMS or PMS remote setting, make sure we grab the new url.
|
||||||
if kwargs.get('pms_ssl') != str(plexpy.CONFIG.PMS_SSL) or \
|
if kwargs.get('pms_ssl') != str(plexpy.CONFIG.PMS_SSL) or \
|
||||||
kwargs.get('pms_is_remote') != str(plexpy.CONFIG.PMS_IS_REMOTE) or \
|
|
||||||
kwargs.get('pms_url_manual') != plexpy.CONFIG.PMS_URL_MANUAL:
|
kwargs.get('pms_url_manual') != plexpy.CONFIG.PMS_URL_MANUAL:
|
||||||
server_changed = True
|
server_changed = True
|
||||||
|
|
||||||
|
@ -4060,7 +4058,7 @@ class WebInterface(object):
|
||||||
@cherrypy.tools.json_out()
|
@cherrypy.tools.json_out()
|
||||||
@requireAuth(member_of("admin"))
|
@requireAuth(member_of("admin"))
|
||||||
@addtoapi()
|
@addtoapi()
|
||||||
def get_server_id(self, hostname=None, port=None, identifier=None, ssl=0, remote=0, manual=0,
|
def get_server_id(self, hostname=None, port=None, identifier=None, ssl=0, manual=0,
|
||||||
get_url=False, test_websocket=False, **kwargs):
|
get_url=False, test_websocket=False, **kwargs):
|
||||||
""" Get the PMS server identifier.
|
""" Get the PMS server identifier.
|
||||||
|
|
||||||
|
@ -4115,7 +4113,6 @@ class WebInterface(object):
|
||||||
server = self.get_server_resources(pms_ip=hostname,
|
server = self.get_server_resources(pms_ip=hostname,
|
||||||
pms_port=port,
|
pms_port=port,
|
||||||
pms_ssl=ssl,
|
pms_ssl=ssl,
|
||||||
pms_is_remote=remote,
|
|
||||||
pms_url_manual=manual,
|
pms_url_manual=manual,
|
||||||
pms_identifier=identifier)
|
pms_identifier=identifier)
|
||||||
result['url'] = server['pms_url']
|
result['url'] = server['pms_url']
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue