mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-08-24 06:55:26 -07:00
Merge branch 'nightly' into master
This commit is contained in:
commit
79d0a9564f
6 changed files with 20 additions and 60 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'}"
|
||||||
|
@ -151,7 +150,7 @@
|
||||||
<div class="col-xs-3">
|
<div class="col-xs-3">
|
||||||
<input type="text" class="form-control pms-settings" name="pms_port" id="pms_port" placeholder="32400" value="${config['pms_port']}" required>
|
<input type="text" class="form-control pms-settings" name="pms_port" id="pms_port" placeholder="32400" value="${config['pms_port']}" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-4">
|
<div class="col-xs-9">
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" id="pms_ssl_checkbox" class="checkbox-toggle pms-settings" data-id="pms_ssl" value="1" ${helpers.checked(config['pms_ssl'])}> Use Secure Connection
|
<input type="checkbox" id="pms_ssl_checkbox" class="checkbox-toggle pms-settings" data-id="pms_ssl" value="1" ${helpers.checked(config['pms_ssl'])}> Use Secure Connection
|
||||||
|
@ -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:
|
||||||
|
|
|
@ -394,6 +394,7 @@ def reset_git_install():
|
||||||
output, err = runGit('branch -u {}/{}'.format(plexpy.CONFIG.GIT_REMOTE,
|
output, err = runGit('branch -u {}/{}'.format(plexpy.CONFIG.GIT_REMOTE,
|
||||||
plexpy.CONFIG.GIT_BRANCH))
|
plexpy.CONFIG.GIT_BRANCH))
|
||||||
output, err = runGit('reset --hard {}'.format(common.RELEASE))
|
output, err = runGit('reset --hard {}'.format(common.RELEASE))
|
||||||
|
_, _ = runGit('clean -fd')
|
||||||
|
|
||||||
if not output:
|
if not output:
|
||||||
logger.error('Unable to reset Tautulli installation.')
|
logger.error('Unable to reset Tautulli installation.')
|
||||||
|
|
|
@ -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(),
|
||||||
|
@ -1997,15 +1996,15 @@ class WebInterface(object):
|
||||||
if 'start_date' in kwargs:
|
if 'start_date' in kwargs:
|
||||||
start_date = helpers.split_strip(kwargs.pop('start_date', ''))
|
start_date = helpers.split_strip(kwargs.pop('start_date', ''))
|
||||||
if start_date:
|
if start_date:
|
||||||
custom_where.append(['strftime("%Y-%m-%d", datetime(started, "unixepoch", "localtime"))', start_date])
|
custom_where.append(["strftime('%Y-%m-%d', datetime(started, 'unixepoch', 'localtime'))", start_date])
|
||||||
if 'before' in kwargs:
|
if 'before' in kwargs:
|
||||||
before = helpers.split_strip(kwargs.pop('before', ''))
|
before = helpers.split_strip(kwargs.pop('before', ''))
|
||||||
if before:
|
if before:
|
||||||
custom_where.append(['strftime("%Y-%m-%d", datetime(started, "unixepoch", "localtime")) <', before])
|
custom_where.append(["strftime('%Y-%m-%d', datetime(started, 'unixepoch', 'localtime')) <", before])
|
||||||
if 'after' in kwargs:
|
if 'after' in kwargs:
|
||||||
after = helpers.split_strip(kwargs.pop('after', ''))
|
after = helpers.split_strip(kwargs.pop('after', ''))
|
||||||
if after:
|
if after:
|
||||||
custom_where.append(['strftime("%Y-%m-%d", datetime(started, "unixepoch", "localtime")) >', after])
|
custom_where.append(["strftime('%Y-%m-%d', datetime(started, 'unixepoch', 'localtime')) >", after])
|
||||||
if 'reference_id' in kwargs:
|
if 'reference_id' in kwargs:
|
||||||
reference_id = helpers.split_strip(kwargs.pop('reference_id', ''))
|
reference_id = helpers.split_strip(kwargs.pop('reference_id', ''))
|
||||||
if reference_id:
|
if reference_id:
|
||||||
|
@ -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']
|
||||||
|
|
|
@ -51,6 +51,7 @@ def start():
|
||||||
def stop():
|
def stop():
|
||||||
logger.info("Tautulli WebStart :: Stopping Tautulli web server...")
|
logger.info("Tautulli WebStart :: Stopping Tautulli web server...")
|
||||||
cherrypy.engine.exit()
|
cherrypy.engine.exit()
|
||||||
|
cherrypy.server.httpserver = None
|
||||||
|
|
||||||
|
|
||||||
def restart():
|
def restart():
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue