diff --git a/data/interfaces/default/settings.html b/data/interfaces/default/settings.html index 92134041..96c2f14f 100644 --- a/data/interfaces/default/settings.html +++ b/data/interfaces/default/settings.html @@ -359,6 +359,10 @@ available_notification_agents = sorted(notifiers.available_notification_agents()

Force PlexPy to connect to your Plex Server via SSL. Your server needs to have remote access enabled.

+ + + +

Plex Logs

@@ -374,8 +378,6 @@ available_notification_agents = sorted(notifiers.available_notification_agents() Click here for help. This is required if you enable IP logging (for PMS 0.9.12 and below).

- - @@ -1554,6 +1556,7 @@ $(document).ready(function() { serverChanged = true; $("#pms_identifier").val(""); $("#pms-verify-status").html(""); + $("#server_changed").prop('checked', true); verifyServer(); }); diff --git a/data/interfaces/default/welcome.html b/data/interfaces/default/welcome.html index 0b19eca1..a717ad0e 100644 --- a/data/interfaces/default/welcome.html +++ b/data/interfaces/default/welcome.html @@ -169,6 +169,7 @@ from plexpy import common + diff --git a/plexpy/__init__.py b/plexpy/__init__.py index c59ee7a2..1bc46e8c 100644 --- a/plexpy/__init__.py +++ b/plexpy/__init__.py @@ -176,7 +176,7 @@ def initialize(config_file): plextv.refresh_users() # Refresh the libraries list on startup - if CONFIG.PMS_TOKEN and CONFIG.REFRESH_LIBRARIES_ON_STARTUP: + if CONFIG.PMS_IP and CONFIG.PMS_TOKEN and CONFIG.REFRESH_LIBRARIES_ON_STARTUP: pmsconnect.refresh_libraries() # Store the original umask diff --git a/plexpy/libraries.py b/plexpy/libraries.py index 61a2f621..ca60e11c 100644 --- a/plexpy/libraries.py +++ b/plexpy/libraries.py @@ -22,8 +22,6 @@ def update_section_ids(): plexpy.CONFIG.UPDATE_SECTION_IDS = -1 - logger.info(u"PlexPy Libraries :: Updating section_id's in database.") - #logger.debug(u"PlexPy Libraries :: Disabling monitoring while update in progress.") #plexpy.schedule_job(activity_pinger.check_active_sessions, 'Check for active sessions', # hours=0, minutes=0, seconds=0) @@ -51,6 +49,13 @@ def update_section_ids(): #plexpy.initialize_scheduler() return None + if not history_results: + plexpy.CONFIG.__setattr__('UPDATE_SECTION_IDS', 0) + plexpy.CONFIG.write() + return None + + logger.info(u"PlexPy Libraries :: Updating section_id's in database.") + # Add thread filter to the logger #logger.debug(u"PlexPy Libraries :: Disabling logging in the current thread while update in progress.") #thread_filter = logger.NoThreadFilter(threading.current_thread().name) @@ -572,11 +577,10 @@ class Libraries(object): return library_details else: logger.warn(u"PlexPy Libraries :: Unable to retrieve library from local database. Requesting library list refresh.") - # Let's first refresh the user list to make sure the user isn't newly added and not in the db yet + # Let's first refresh the libraries list to make sure the library isn't newly added and not in the db yet + pmsconnect.refresh_libraries() try: if section_id: - # Refresh libraries - pmsconnect.refresh_libraries() query = 'SELECT section_id, section_name, section_type, count, parent_count, child_count, ' \ 'thumb AS library_thumb, custom_thumb_url AS custom_thumb, art, ' \ 'do_notify, do_notify_created, keep_history ' \ diff --git a/plexpy/users.py b/plexpy/users.py index d4221efa..19294285 100644 --- a/plexpy/users.py +++ b/plexpy/users.py @@ -292,10 +292,9 @@ class Users(object): else: logger.warn(u"PlexPy Users :: Unable to retrieve user from local database. Requesting user list refresh.") # Let's first refresh the user list to make sure the user isn't newly added and not in the db yet + plextv.refresh_users() try: if str(user_id).isdigit(): - # Refresh users - plextv.refresh_users() query = 'SELECT user_id, username, friendly_name, thumb AS user_thumb, custom_avatar_url AS custom_thumb, ' \ 'email, is_home_user, is_allow_sync, is_restricted, do_notify, keep_history ' \ 'FROM users ' \ diff --git a/plexpy/webserve.py b/plexpy/webserve.py index c1cb3df1..f3f18dfc 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -1151,6 +1151,7 @@ class WebInterface(object): del kwargs[use_config] # Check if we should refresh our data + server_changed = False refresh_libraries = False refresh_users = False reschedule = False @@ -1173,11 +1174,6 @@ class WebInterface(object): (kwargs['monitor_remote_access'] != plexpy.CONFIG.MONITOR_REMOTE_ACCESS): reschedule = True - if 'pms_ip' in kwargs: - if kwargs['pms_ip'] != plexpy.CONFIG.PMS_IP: - refresh_libraries = True - refresh_users = True - # Remove config with 'hscard-' prefix and change home_stats_cards to list if 'home_stats_cards' in kwargs: for k in kwargs.keys(): @@ -1198,16 +1194,24 @@ class WebInterface(object): if kwargs['home_library_cards'] == ['first_run_wizard']: refresh_libraries = True + if 'server_changed' in kwargs: + del kwargs['server_changed'] + server_changed = True + refresh_users = True + refresh_libraries = True + plexpy.CONFIG.process_kwargs(kwargs) # Write the config plexpy.CONFIG.write() # Get new server URLs for SSL communications. - plextv.get_real_pms_url() + if server_changed: + plextv.get_real_pms_url() # Get new server friendly name. - pmsconnect.get_server_friendly_name() + if server_changed: + pmsconnect.get_server_friendly_name() # Reconfigure scheduler if intervals changed if reschedule: