Get server name as a scheduled task

This commit is contained in:
Jonathan Wong 2015-11-16 18:31:22 -08:00
parent 7c8fb58600
commit 12056ac2ba
5 changed files with 15 additions and 21 deletions

View file

@ -33,7 +33,7 @@
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<div class="padded-header" id="library-statistics-header"> <div class="padded-header" id="library-statistics-header">
<h3>Library Statistics</h3> <h3>Library Statistics <small>${config['pms_name']}</small></h3>
</div> </div>
<div id="library-stats" class="library-platforms"> <div id="library-stats" class="library-platforms">
<div class='text-muted'><i class="fa fa-refresh fa-spin"></i> Loading stats...</div> <div class='text-muted'><i class="fa fa-refresh fa-spin"></i> Loading stats...</div>
@ -98,19 +98,6 @@
}); });
} }
function getLibraryStatsHeader() {
$.ajax({
url: 'get_server_friendly_name',
cache: false,
async: true,
data: { },
complete: function (xhr, status) {
server_name = xhr.responseText;
$('#library-statistics-header h3').append(' <small>' + server_name + '</small>')
}
});
}
function getLibraryStats() { function getLibraryStats() {
$.ajax({ $.ajax({
url: 'library_stats', url: 'library_stats',
@ -162,7 +149,6 @@
}); });
getHomeStats(); getHomeStats();
getLibraryStatsHeader();
getLibraryStats(); getLibraryStats();

View file

@ -31,7 +31,7 @@ except ImportError:
from apscheduler.schedulers.background import BackgroundScheduler from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.triggers.interval import IntervalTrigger from apscheduler.triggers.interval import IntervalTrigger
from plexpy import versioncheck, logger, activity_pinger, plextv from plexpy import versioncheck, logger, activity_pinger, plextv, pmsconnect
import plexpy.config import plexpy.config
PROG_DIR = None PROG_DIR = None
@ -169,6 +169,7 @@ def initialize(config_file):
# Get the real PMS urls for SSL and remote access # Get the real PMS urls for SSL and remote access
if CONFIG.PMS_TOKEN and CONFIG.PMS_IP and CONFIG.PMS_PORT: if CONFIG.PMS_TOKEN and CONFIG.PMS_IP and CONFIG.PMS_PORT:
plextv.get_real_pms_url() plextv.get_real_pms_url()
pmsconnect.PmsConnect().get_server_friendly_name()
# Refresh the users list on startup # Refresh the users list on startup
if CONFIG.PMS_TOKEN and CONFIG.REFRESH_USERS_ON_STARTUP: if CONFIG.PMS_TOKEN and CONFIG.REFRESH_USERS_ON_STARTUP:
@ -280,7 +281,10 @@ def initialize_scheduler():
seconds = 0 seconds = 0
if CONFIG.PMS_IP and CONFIG.PMS_TOKEN: if CONFIG.PMS_IP and CONFIG.PMS_TOKEN:
schedule_job(plextv.get_real_pms_url, 'Refresh Plex Server URLs', hours=12, minutes=0, seconds=0) schedule_job(plextv.get_real_pms_url, 'Refresh Plex Server URLs',
hours=12, minutes=0, seconds=0)
schedule_job(pmsconnect.PmsConnect().get_server_friendly_name, 'Refresh Plex Server Name',
hours=12, minutes=0, seconds=0)
# If we're not using websockets then fall back to polling # If we're not using websockets then fall back to polling
if not CONFIG.MONITORING_USE_WEBSOCKET or POLLING_FAILOVER: if not CONFIG.MONITORING_USE_WEBSOCKET or POLLING_FAILOVER:

View file

@ -26,6 +26,7 @@ _CONFIG_DEFINITIONS = {
'PMS_IP': (str, 'PMS', '127.0.0.1'), 'PMS_IP': (str, 'PMS', '127.0.0.1'),
'PMS_IS_REMOTE': (int, 'PMS', 0), 'PMS_IS_REMOTE': (int, 'PMS', 0),
'PMS_LOGS_FOLDER': (str, 'PMS', ''), 'PMS_LOGS_FOLDER': (str, 'PMS', ''),
'PMS_NAME': (str, 'PMS', ''),
'PMS_PORT': (int, 'PMS', 32400), 'PMS_PORT': (int, 'PMS', 32400),
'PMS_TOKEN': (str, 'PMS', ''), 'PMS_TOKEN': (str, 'PMS', ''),
'PMS_SSL': (int, 'General', 0), 'PMS_SSL': (int, 'General', 0),

View file

@ -1645,4 +1645,8 @@ class PmsConnect(object):
server_name = server['name'] server_name = server['name']
break break
if server_name != plexpy.CONFIG.PMS_NAME:
plexpy.CONFIG.__setattr__('PMS_NAME', server_name)
plexpy.CONFIG.write()
return server_name return server_name

View file

@ -46,9 +46,7 @@ def serve_template(templatename, **kwargs):
_hplookup = TemplateLookup(directories=[template_dir]) _hplookup = TemplateLookup(directories=[template_dir])
# Get the server name server_name = plexpy.CONFIG.PMS_NAME
pms_connect = pmsconnect.PmsConnect()
server_name = pms_connect.get_server_friendly_name()
try: try:
template = _hplookup.get_template(templatename) template = _hplookup.get_template(templatename)
@ -75,7 +73,8 @@ class WebInterface(object):
"home_stats_length": plexpy.CONFIG.HOME_STATS_LENGTH, "home_stats_length": plexpy.CONFIG.HOME_STATS_LENGTH,
"home_stats_cards": plexpy.CONFIG.HOME_STATS_CARDS, "home_stats_cards": plexpy.CONFIG.HOME_STATS_CARDS,
"home_library_cards": plexpy.CONFIG.HOME_LIBRARY_CARDS, "home_library_cards": plexpy.CONFIG.HOME_LIBRARY_CARDS,
"pms_identifier": plexpy.CONFIG.PMS_IDENTIFIER "pms_identifier": plexpy.CONFIG.PMS_IDENTIFIER,
"pms_name": plexpy.CONFIG.PMS_NAME
} }
return serve_template(templatename="index.html", title="Home", config=config) return serve_template(templatename="index.html", title="Home", config=config)