From 749e1fcebe0219837a27762caadb75c1ed9e1e1b Mon Sep 17 00:00:00 2001 From: JonnyWong16 Date: Mon, 26 Mar 2018 08:53:40 -0700 Subject: [PATCH] Move refresh interval setting to homepage --- data/interfaces/default/css/tautulli.css | 16 +++++++--- data/interfaces/default/index.html | 39 +++++++++++++++++++----- data/interfaces/default/settings.html | 11 ------- plexpy/webserve.py | 7 +++-- 4 files changed, 48 insertions(+), 25 deletions(-) diff --git a/data/interfaces/default/css/tautulli.css b/data/interfaces/default/css/tautulli.css index b392bffa..7522c517 100644 --- a/data/interfaces/default/css/tautulli.css +++ b/data/interfaces/default/css/tautulli.css @@ -294,10 +294,6 @@ object { font-weight: bold; text-transform: uppercase; } -.padded-header h3 small { - font-size: 13px; - text-transform: none; -} .btn { outline:0px !important; } @@ -2377,6 +2373,18 @@ a .library-user-instance-box:hover { margin-top: 9px; width: 175px; } +.home-padded-header .info-bar { + float: left; + margin-left: 15px; + line-height: 35px; +} +.home-padded-header .info-bar small { + font-size: 13px; + font-weight: normal; + text-transform: none; + line-height: 1; + color: #777; +} .home-padded-header .button-bar { float: left; } diff --git a/data/interfaces/default/index.html b/data/interfaces/default/index.html index e41e661d..844c1940 100644 --- a/data/interfaces/default/index.html +++ b/data/interfaces/default/index.html @@ -10,8 +10,16 @@ % if section == 'current_activity':
-
-

Activity    +
+

Current Activity

+
+
+ Refresh every + + seconds +
+
+
-

+
<% from plexpy import PLEX_SERVER_UP %> @@ -585,11 +593,16 @@ } getCurrentActivity(); - setInterval(function () { - if (!(create_instances.length) && activity_ready) { - getCurrentActivity(); - } - }, ${config['home_refresh_interval'] * 1000}); + + function refreshActivity(seconds) { + return setInterval(function () { + if (!(create_instances.length) && activity_ready) { + getCurrentActivity(); + } + }, seconds * 1000); + } + var refresh_interval = $('#activity-refresh-interval').val(); + var activityRefresh = refreshActivity(refresh_interval); setInterval(function(){ $('.progress_time_offset').each(function () { @@ -685,6 +698,16 @@ window.open(sessions_url, '_blank'); }); }); + + $('#activity-refresh-interval').change(function () { + forceMinMax($(this)); + clearInterval(activityRefresh); + refresh_interval = $(this).val(); + activityRefresh = refreshActivity(refresh_interval); + $.post('set_home_stats_config', { refresh_interval: refresh_interval }); + }); + + $('#activity-refresh-interval').tooltip({ container: 'body', placement: 'top', html: true }); % endif % endif diff --git a/data/interfaces/default/settings.html b/data/interfaces/default/settings.html index e81a1dd9..4de9c055 100644 --- a/data/interfaces/default/settings.html +++ b/data/interfaces/default/settings.html @@ -271,17 +271,6 @@

Activity

-
- -
-
- -
- -
-

Set the interval (in seconds) to refresh the current activity on the homepage. Minimum 2.

-
-

Sections

diff --git a/plexpy/webserve.py b/plexpy/webserve.py index aed8edbe..124b6a46 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -286,7 +286,11 @@ class WebInterface(object): @cherrypy.expose @requireAuth(member_of("admin")) - def set_home_stats_config(self, time_range=None, stats_type=None, stats_count=None, recently_added_count=None, **kwargs): + def set_home_stats_config(self, refresh_interval=None, time_range=None, stats_type=None, stats_count=None, + recently_added_count=None, **kwargs): + if refresh_interval: + plexpy.CONFIG.__setattr__('HOME_REFRESH_INTERVAL', refresh_interval) + plexpy.CONFIG.write() if time_range: plexpy.CONFIG.__setattr__('HOME_STATS_LENGTH', time_range) plexpy.CONFIG.write() @@ -2643,7 +2647,6 @@ class WebInterface(object): "home_sections": json.dumps(plexpy.CONFIG.HOME_SECTIONS), "home_stats_cards": json.dumps(plexpy.CONFIG.HOME_STATS_CARDS), "home_library_cards": json.dumps(plexpy.CONFIG.HOME_LIBRARY_CARDS), - "home_refresh_interval": plexpy.CONFIG.HOME_REFRESH_INTERVAL, "buffer_threshold": plexpy.CONFIG.BUFFER_THRESHOLD, "buffer_wait": plexpy.CONFIG.BUFFER_WAIT, "group_history_tables": checked(plexpy.CONFIG.GROUP_HISTORY_TABLES),