mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-11 07:46:07 -07:00
Add setting for manual server connection
This commit is contained in:
parent
f42f1182f2
commit
20e3eebd6a
5 changed files with 19 additions and 7 deletions
|
@ -591,6 +591,12 @@
|
||||||
</label>
|
</label>
|
||||||
<p class="help-block">If you have secure connections enabled on your Plex Server, communicate with it securely.</p>
|
<p class="help-block">If you have secure connections enabled on your Plex Server, communicate with it securely.</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="checkbox">
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" id="pms_url_manual" name="pms_url_manual" value="1" ${config['pms_url_manual']}> Manual Connection
|
||||||
|
</label>
|
||||||
|
<p class="help-block">Use the user defined connection details. Do not retrieve the server connection URL automatically.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
<input type="hidden" id="pms_identifier" name="pms_identifier" value="${config['pms_identifier']}">
|
<input type="hidden" id="pms_identifier" name="pms_identifier" value="${config['pms_identifier']}">
|
||||||
<input type="checkbox" name="server_changed" id="server_changed" value="1" style="display: none;">
|
<input type="checkbox" name="server_changed" id="server_changed" value="1" style="display: none;">
|
||||||
|
|
|
@ -323,7 +323,7 @@ def initialize_scheduler():
|
||||||
#schedule_job(activity_pinger.check_recently_added, 'Check for recently added items',
|
#schedule_job(activity_pinger.check_recently_added, 'Check for recently added items',
|
||||||
# hours=0, minutes=0, seconds=monitor_seconds * bool(CONFIG.NOTIFY_RECENTLY_ADDED))
|
# hours=0, minutes=0, seconds=monitor_seconds * bool(CONFIG.NOTIFY_RECENTLY_ADDED))
|
||||||
schedule_job(plextv.get_real_pms_url, 'Refresh Plex server URLs',
|
schedule_job(plextv.get_real_pms_url, 'Refresh Plex server URLs',
|
||||||
hours=12, minutes=0, seconds=0)
|
hours=12 * (not bool(CONFIG.PMS_URL_MANUAL)), minutes=0, seconds=0)
|
||||||
schedule_job(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)
|
hours=12, minutes=0, seconds=0)
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,7 @@ _CONFIG_DEFINITIONS = {
|
||||||
'PMS_TOKEN': (str, 'PMS', ''),
|
'PMS_TOKEN': (str, 'PMS', ''),
|
||||||
'PMS_SSL': (int, 'PMS', 0),
|
'PMS_SSL': (int, 'PMS', 0),
|
||||||
'PMS_URL': (str, 'PMS', ''),
|
'PMS_URL': (str, 'PMS', ''),
|
||||||
|
'PMS_URL_MANUAL': (int, 'PMS', 0),
|
||||||
'PMS_USE_BIF': (int, 'PMS', 0),
|
'PMS_USE_BIF': (int, 'PMS', 0),
|
||||||
'PMS_UUID': (str, 'PMS', ''),
|
'PMS_UUID': (str, 'PMS', ''),
|
||||||
'PMS_TIMEOUT': (int, 'Advanced', 15),
|
'PMS_TIMEOUT': (int, 'Advanced', 15),
|
||||||
|
|
|
@ -95,7 +95,7 @@ def get_real_pms_url():
|
||||||
plexpy.CONFIG.__setattr__('PMS_URL', '')
|
plexpy.CONFIG.__setattr__('PMS_URL', '')
|
||||||
plexpy.CONFIG.write()
|
plexpy.CONFIG.write()
|
||||||
|
|
||||||
fallback_url = 'http://' + plexpy.CONFIG.PMS_IP + ':' + str(plexpy.CONFIG.PMS_PORT)
|
fallback_url = 'http://{}:{}'.format(plexpy.CONFIG.PMS_IP, plexpy.CONFIG.PMS_PORT)
|
||||||
|
|
||||||
plex_tv = PlexTV()
|
plex_tv = PlexTV()
|
||||||
result = plex_tv.get_server_urls(include_https=plexpy.CONFIG.PMS_SSL)
|
result = plex_tv.get_server_urls(include_https=plexpy.CONFIG.PMS_SSL)
|
||||||
|
@ -109,7 +109,7 @@ def get_real_pms_url():
|
||||||
connections = result['connections']
|
connections = result['connections']
|
||||||
|
|
||||||
# Only need to retrieve PMS_URL if using SSL
|
# Only need to retrieve PMS_URL if using SSL
|
||||||
if plexpy.CONFIG.PMS_SSL:
|
if not plexpy.CONFIG.PMS_URL_MANUAL and plexpy.CONFIG.PMS_SSL:
|
||||||
if connections:
|
if connections:
|
||||||
if plexpy.CONFIG.PMS_IS_REMOTE:
|
if plexpy.CONFIG.PMS_IS_REMOTE:
|
||||||
# Get all remote connections
|
# Get all remote connections
|
||||||
|
@ -134,6 +134,9 @@ def get_real_pms_url():
|
||||||
|
|
||||||
# Not using SSL, remote has no effect
|
# Not using SSL, remote has no effect
|
||||||
else:
|
else:
|
||||||
|
if plexpy.CONFIG.PMS_URL_MANUAL and plexpy.CONFIG.PMS_SSL:
|
||||||
|
fallback_url = fallback_url.replace('http://', 'https://')
|
||||||
|
|
||||||
plexpy.CONFIG.__setattr__('PMS_URL', fallback_url)
|
plexpy.CONFIG.__setattr__('PMS_URL', fallback_url)
|
||||||
plexpy.CONFIG.write()
|
plexpy.CONFIG.write()
|
||||||
logger.info(u"PlexPy PlexTV :: Using user-defined URL.")
|
logger.info(u"PlexPy PlexTV :: Using user-defined URL.")
|
||||||
|
|
|
@ -2621,6 +2621,7 @@ class WebInterface(object):
|
||||||
"pms_port": plexpy.CONFIG.PMS_PORT,
|
"pms_port": plexpy.CONFIG.PMS_PORT,
|
||||||
"pms_token": plexpy.CONFIG.PMS_TOKEN,
|
"pms_token": plexpy.CONFIG.PMS_TOKEN,
|
||||||
"pms_ssl": checked(plexpy.CONFIG.PMS_SSL),
|
"pms_ssl": checked(plexpy.CONFIG.PMS_SSL),
|
||||||
|
"pms_url_manual": checked(plexpy.CONFIG.PMS_URL_MANUAL),
|
||||||
"pms_use_bif": checked(plexpy.CONFIG.PMS_USE_BIF),
|
"pms_use_bif": checked(plexpy.CONFIG.PMS_USE_BIF),
|
||||||
"pms_uuid": plexpy.CONFIG.PMS_UUID,
|
"pms_uuid": plexpy.CONFIG.PMS_UUID,
|
||||||
"date_format": plexpy.CONFIG.DATE_FORMAT,
|
"date_format": plexpy.CONFIG.DATE_FORMAT,
|
||||||
|
@ -2679,7 +2680,7 @@ class WebInterface(object):
|
||||||
checked_configs = [
|
checked_configs = [
|
||||||
"launch_browser", "enable_https", "https_create_cert", "api_enabled", "freeze_db", "check_github",
|
"launch_browser", "enable_https", "https_create_cert", "api_enabled", "freeze_db", "check_github",
|
||||||
"grouping_global_history", "grouping_user_history", "grouping_charts", "group_history_tables",
|
"grouping_global_history", "grouping_user_history", "grouping_charts", "group_history_tables",
|
||||||
"pms_use_bif", "pms_ssl", "pms_is_remote", "home_stats_type", "week_start_monday",
|
"pms_use_bif", "pms_ssl", "pms_is_remote", "pms_url_manual", "home_stats_type", "week_start_monday",
|
||||||
"refresh_libraries_on_startup", "refresh_users_on_startup",
|
"refresh_libraries_on_startup", "refresh_users_on_startup",
|
||||||
"notify_consecutive", "notify_upload_posters", "notify_recently_added_upgrade",
|
"notify_consecutive", "notify_upload_posters", "notify_recently_added_upgrade",
|
||||||
"notify_group_recently_added_grandparent", "notify_group_recently_added_parent",
|
"notify_group_recently_added_grandparent", "notify_group_recently_added_parent",
|
||||||
|
@ -2730,14 +2731,15 @@ class WebInterface(object):
|
||||||
kwargs.get('monitoring_interval') != str(plexpy.CONFIG.MONITORING_INTERVAL) or \
|
kwargs.get('monitoring_interval') != str(plexpy.CONFIG.MONITORING_INTERVAL) or \
|
||||||
kwargs.get('refresh_libraries_interval') != str(plexpy.CONFIG.REFRESH_LIBRARIES_INTERVAL) or \
|
kwargs.get('refresh_libraries_interval') != str(plexpy.CONFIG.REFRESH_LIBRARIES_INTERVAL) or \
|
||||||
kwargs.get('refresh_users_interval') != str(plexpy.CONFIG.REFRESH_USERS_INTERVAL) or \
|
kwargs.get('refresh_users_interval') != str(plexpy.CONFIG.REFRESH_USERS_INTERVAL) or \
|
||||||
kwargs.get('notify_recently_added') != plexpy.CONFIG.NOTIFY_RECENTLY_ADDED or \
|
|
||||||
kwargs.get('monitor_pms_updates') != plexpy.CONFIG.MONITOR_PMS_UPDATES or \
|
kwargs.get('monitor_pms_updates') != plexpy.CONFIG.MONITOR_PMS_UPDATES or \
|
||||||
kwargs.get('monitor_remote_access') != plexpy.CONFIG.MONITOR_REMOTE_ACCESS:
|
kwargs.get('monitor_remote_access') != plexpy.CONFIG.MONITOR_REMOTE_ACCESS or \
|
||||||
|
kwargs.get('pms_url_manual') != plexpy.CONFIG.PMS_URL_MANUAL:
|
||||||
reschedule = True
|
reschedule = True
|
||||||
|
|
||||||
# If we change the SSL setting for PMS or PMS remote setting, make sure we grab the new url.
|
# If we change the SSL setting for PMS or PMS remote setting, make sure we grab the new url.
|
||||||
if kwargs.get('pms_ssl') != plexpy.CONFIG.PMS_SSL or \
|
if kwargs.get('pms_ssl') != plexpy.CONFIG.PMS_SSL or \
|
||||||
kwargs.get('pms_is_remote') != plexpy.CONFIG.PMS_IS_REMOTE:
|
kwargs.get('pms_is_remote') != plexpy.CONFIG.PMS_IS_REMOTE or \
|
||||||
|
kwargs.get('pms_url_manual') != plexpy.CONFIG.PMS_URL_MANUAL:
|
||||||
server_changed = True
|
server_changed = True
|
||||||
|
|
||||||
# If we change the HTTPS setting, make sure we generate a new certificate.
|
# If we change the HTTPS setting, make sure we generate a new certificate.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue