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'