diff --git a/data/interfaces/default/base.html b/data/interfaces/default/base.html
index c471c3b3..0d66fac7 100644
--- a/data/interfaces/default/base.html
+++ b/data/interfaces/default/base.html
@@ -7,7 +7,7 @@ from plexpy import version
- PlexPy - ${title}
+ PlexPy - ${title} | ${server_name}
diff --git a/data/interfaces/default/index.html b/data/interfaces/default/index.html
index 5f8caeba..ca10ce39 100644
--- a/data/interfaces/default/index.html
+++ b/data/interfaces/default/index.html
@@ -100,20 +100,12 @@
function getLibraryStatsHeader() {
$.ajax({
- "url": "get_servers_info",
- type: "post",
+ url: 'get_server_friendly_name',
cache: false,
async: true,
data: { },
complete: function (xhr, status) {
- server_info = $.parseJSON(xhr.responseText);
- var server_name = 'Server name not found';
- for (var i in server_info) {
- if (server_info[i].machine_identifier == '${config['pms_identifier']}') {
- server_name = server_info[i].name
- break;
- }
- }
+ server_name = xhr.responseText;
$('#library-statistics-header h3').append(' ' + server_name + '')
}
});
diff --git a/plexpy/notification_handler.py b/plexpy/notification_handler.py
index f85887f4..2aa255f0 100644
--- a/plexpy/notification_handler.py
+++ b/plexpy/notification_handler.py
@@ -270,14 +270,7 @@ def build_notify_text(session=None, timeline=None, state=None):
# Get the server name
pms_connect = pmsconnect.PmsConnect()
- server_name = pms_connect.get_server_pref(pref='FriendlyName')
- # If friendly name is blank
- if not server_name:
- servers_info = pms_connect.get_servers_info()
- for server in servers_info:
- if server['machine_identifier'] == plexpy.CONFIG.PMS_IDENTIFIER:
- server_name = server['name']
- break
+ server_name = pms_connect.get_server_friendly_name()
# Get metadata feed for item
if session:
diff --git a/plexpy/pmsconnect.py b/plexpy/pmsconnect.py
index a53e9f4b..12807983 100644
--- a/plexpy/pmsconnect.py
+++ b/plexpy/pmsconnect.py
@@ -1631,4 +1631,18 @@ class PmsConnect(object):
'children': parents}
}
- return key_list
\ No newline at end of file
+ return key_list
+
+ def get_server_friendly_name(self):
+
+ server_name = self.get_server_pref(pref='FriendlyName')
+
+ # If friendly name is blank
+ if not server_name:
+ servers_info = self.get_servers_info()
+ for server in servers_info:
+ if server['machine_identifier'] == plexpy.CONFIG.PMS_IDENTIFIER:
+ server_name = server['name']
+ break
+
+ return server_name
\ No newline at end of file
diff --git a/plexpy/webserve.py b/plexpy/webserve.py
index 4e0d4937..aae99de3 100644
--- a/plexpy/webserve.py
+++ b/plexpy/webserve.py
@@ -46,9 +46,13 @@ def serve_template(templatename, **kwargs):
_hplookup = TemplateLookup(directories=[template_dir])
+ # Get the server name
+ pms_connect = pmsconnect.PmsConnect()
+ server_name = pms_connect.get_server_friendly_name()
+
try:
template = _hplookup.get_template(templatename)
- return template.render(**kwargs)
+ return template.render(server_name=server_name, **kwargs)
except:
return exceptions.html_error_template().render()
@@ -1137,10 +1141,25 @@ class WebInterface(object):
logger.warn('Unable to retrieve data.')
@cherrypy.expose
- def get_server_prefs(self, **kwargs):
+ def get_server_friendly_name(self, **kwargs):
pms_connect = pmsconnect.PmsConnect()
- result = pms_connect.get_server_prefs(output_format='json')
+ result = pms_connect.get_server_friendly_name()
+
+ if result:
+ cherrypy.response.headers['Content-type'] = 'application/json'
+ return result
+ else:
+ logger.warn('Unable to retrieve data.')
+
+ @cherrypy.expose
+ def get_server_prefs(self, pref=None, **kwargs):
+
+ if pref:
+ pms_connect = pmsconnect.PmsConnect()
+ result = pms_connect.get_server_pref(pref=pref)
+ else:
+ result = None
if result:
cherrypy.response.headers['Content-type'] = 'application/json'