diff --git a/plexpy/__init__.py b/plexpy/__init__.py index ae6e2a02..39c9a470 100644 --- a/plexpy/__init__.py +++ b/plexpy/__init__.py @@ -169,7 +169,7 @@ def initialize(config_file): # Get the real PMS urls for SSL and remote access if CONFIG.PMS_TOKEN and CONFIG.PMS_IP and CONFIG.PMS_PORT: plextv.get_real_pms_url() - pmsconnect.PmsConnect().get_server_friendly_name() + pmsconnect.get_server_friendly_name() # Refresh the users list on startup if CONFIG.PMS_TOKEN and CONFIG.REFRESH_USERS_ON_STARTUP: @@ -283,7 +283,7 @@ def initialize_scheduler(): 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(pmsconnect.PmsConnect().get_server_friendly_name, 'Refresh Plex Server Name', + schedule_job(pmsconnect.get_server_friendly_name, 'Refresh Plex Server Name', hours=12, minutes=0, seconds=0) schedule_job(activity_pinger.check_recently_added, 'Check for recently added items', hours=0, minutes=0, seconds=seconds) diff --git a/plexpy/notification_handler.py b/plexpy/notification_handler.py index 4318e923..fae6db6b 100644 --- a/plexpy/notification_handler.py +++ b/plexpy/notification_handler.py @@ -261,12 +261,10 @@ def set_notify_state(session, state, agent_info): def build_notify_text(session=None, timeline=None, state=None): - from plexpy import pmsconnect, helpers import re # Get the server name - pms_connect = pmsconnect.PmsConnect() - server_name = pms_connect.get_server_friendly_name() + server_name = plexpy.CONFIG.PMS_NAME # Get metadata feed for item if session: diff --git a/plexpy/pmsconnect.py b/plexpy/pmsconnect.py index 5fcee3af..9ab4fd80 100644 --- a/plexpy/pmsconnect.py +++ b/plexpy/pmsconnect.py @@ -19,6 +19,23 @@ from urlparse import urlparse import plexpy import urllib2 +def get_server_friendly_name(): + logger.info("Requesting name from server...") + server_name = PmsConnect().get_server_pref(pref='FriendlyName') + + # If friendly name is blank + if not server_name: + servers_info = PmsConnect().get_servers_info() + for server in servers_info: + if server['machine_identifier'] == plexpy.CONFIG.PMS_IDENTIFIER: + server_name = server['name'] + break + + if server_name and server_name != plexpy.CONFIG.PMS_NAME: + plexpy.CONFIG.__setattr__('PMS_NAME', server_name) + plexpy.CONFIG.write() + + return server_name class PmsConnect(object): """ @@ -1631,22 +1648,4 @@ class PmsConnect(object): 'children': parents} } - 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 - - if server_name != plexpy.CONFIG.PMS_NAME: - plexpy.CONFIG.__setattr__('PMS_NAME', server_name) - plexpy.CONFIG.write() - - return server_name \ No newline at end of file + return key_list \ No newline at end of file diff --git a/plexpy/webserve.py b/plexpy/webserve.py index 50c23876..249b1360 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -1143,8 +1143,7 @@ class WebInterface(object): @cherrypy.expose def get_server_friendly_name(self, **kwargs): - pms_connect = pmsconnect.PmsConnect() - result = pms_connect.get_server_friendly_name() + result = pmsconnect.get_server_friendly_name() if result: cherrypy.response.headers['Content-type'] = 'application/json'