diff --git a/data/interfaces/default/settings.html b/data/interfaces/default/settings.html index 31628c26..87c0954a 100644 --- a/data/interfaces/default/settings.html +++ b/data/interfaces/default/settings.html @@ -941,7 +941,7 @@ -

The value (in seconds) Tautulli should wait before triggering the next buffer warning. 0 to always trigger.

+

The value (in seconds) Tautulli should wait before triggering the next buffer warning. Set to 0 to always trigger.

The number of concurrent streams by a single user for Tautulli to trigger a notification. Minimum 2.

+
+ +
+
+ +
+ +
+

+ The number of seconds between stopping and starting a new stream to be considered as a continued session. Set to 0 to consider all streams as new sessions. +
+ Note: The threshold is only used for the continued session notification parameter. +

+

Recently Added Notifications

diff --git a/plexpy/common.py b/plexpy/common.py index 8ca6eeb0..bd3a1185 100644 --- a/plexpy/common.py +++ b/plexpy/common.py @@ -367,6 +367,7 @@ NOTIFICATION_PARAMETERS = [ {'name': 'Progress Duration', 'type': 'int', 'value': 'progress_duration', 'description': 'The last reported offset (in minutes) of the stream.'}, {'name': 'Progress Time', 'type': 'str', 'value': 'progress_time', 'description': 'The last reported offset (in time format) of the stream.'}, {'name': 'Progress Percent', 'type': 'int', 'value': 'progress_percent', 'description': 'The last reported progress percent of the stream.'}, + {'name': 'Continued Session', 'type': 'int', 'value': 'continued_session', 'description': 'If the stream is continued from the previous streaming session.', 'example': '0 or 1'}, {'name': 'Transcode Decision', 'type': 'str', 'value': 'transcode_decision', 'description': 'The transcode decisions of the stream.'}, {'name': 'Video Decision', 'type': 'str', 'value': 'video_decision', 'description': 'The video transcode decisions of the stream.'}, {'name': 'Audio Decision', 'type': 'str', 'value': 'audio_decision', 'description': 'The audio transcode decisions of the stream.'}, diff --git a/plexpy/notification_handler.py b/plexpy/notification_handler.py index a042d058..8b8b83a3 100644 --- a/plexpy/notification_handler.py +++ b/plexpy/notification_handler.py @@ -843,6 +843,7 @@ def build_media_notify_params(notify_action=None, session=None, timeline=None, m 'progress_duration': view_offset, 'progress_time': arrow.get(view_offset * 60).format(duration_format), 'progress_percent': helpers.get_percent(view_offset, duration), + 'continued_session': notify_params['continued_session'], 'transcode_decision': transcode_decision, 'video_decision': notify_params['video_decision'], 'audio_decision': notify_params['audio_decision'], diff --git a/plexpy/webserve.py b/plexpy/webserve.py index 3285fab1..f0e4fcd3 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -2910,6 +2910,7 @@ class WebInterface(object): "notify_recently_added_delay": plexpy.CONFIG.NOTIFY_RECENTLY_ADDED_DELAY, "notify_concurrent_by_ip": checked(plexpy.CONFIG.NOTIFY_CONCURRENT_BY_IP), "notify_concurrent_threshold": plexpy.CONFIG.NOTIFY_CONCURRENT_THRESHOLD, + "notify_continued_session_threshold": plexpy.CONFIG.NOTIFY_CONTINUED_SESSION_THRESHOLD, "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),