From 699357ca21fa4ec552ae7d822c38617c75163c24 Mon Sep 17 00:00:00 2001 From: JonnyWong16 Date: Sat, 14 Mar 2020 15:39:22 -0700 Subject: [PATCH] Add transcode decision counts to notification parameters --- plexpy/common.py | 14 ++++++++++---- plexpy/notification_handler.py | 8 ++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/plexpy/common.py b/plexpy/common.py index bf148a0a..79cd9a41 100644 --- a/plexpy/common.py +++ b/plexpy/common.py @@ -341,10 +341,16 @@ NOTIFICATION_PARAMETERS = [ 'category': 'Stream Details', 'parameters': [ {'name': 'Streams', 'type': 'int', 'value': 'streams', 'description': 'The number of concurrent streams.'}, - {'name': 'User Streams', 'type': 'int', 'value': 'user_streams', 'description': 'The number of concurrent streams by the person streaming.'}, - {'name': 'User', 'type': 'str', 'value': 'user', 'description': 'The friendly name of the person streaming.'}, - {'name': 'Username', 'type': 'str', 'value': 'username', 'description': 'The username of the person streaming.'}, - {'name': 'User Email', 'type': 'str', 'value': 'user_email', 'description': 'The email address of the person streaming.'}, + {'name': 'Direct Plays', 'type': 'int', 'value': 'direct_plays', 'description': 'The number of concurrent direct plays.'}, + {'name': 'Direct Streams', 'type': 'int', 'value': 'direct_streams', 'description': 'The number of concurrent direct streams.'}, + {'name': 'Transcodes', 'type': 'int', 'value': 'transcodes', 'description': 'The number of concurrent transcodes.'}, + {'name': 'User Streams', 'type': 'int', 'value': 'user_streams', 'description': 'The number of concurrent streams by the user streaming.'}, + {'name': 'User Direct Plays', 'type': 'int', 'value': 'user_direct_plays', 'description': 'The number of concurrent direct plays by the user streaming.'}, + {'name': 'User Direct Streams', 'type': 'int', 'value': 'user_direct_streams', 'description': 'The number of concurrent direct streams by the user streaming.'}, + {'name': 'User Transcodes', 'type': 'int', 'value': 'user_transcodes', 'description': 'The number of concurrent transcodes by the user streaming.'}, + {'name': 'User', 'type': 'str', 'value': 'user', 'description': 'The friendly name of the user streaming.'}, + {'name': 'Username', 'type': 'str', 'value': 'username', 'description': 'The username of the user streaming.'}, + {'name': 'User Email', 'type': 'str', 'value': 'user_email', 'description': 'The email address of the user streaming.'}, {'name': 'Device', 'type': 'str', 'value': 'device', 'description': 'The type of client device being used for playback.'}, {'name': 'Platform', 'type': 'str', 'value': 'platform', 'description': 'The type of client platform being used for playback.'}, {'name': 'Product', 'type': 'str', 'value': 'product', 'description': 'The type of client product being used for playback.'}, diff --git a/plexpy/notification_handler.py b/plexpy/notification_handler.py index f62386bb..18ae18a3 100644 --- a/plexpy/notification_handler.py +++ b/plexpy/notification_handler.py @@ -554,6 +554,8 @@ def build_media_notify_params(notify_action=None, session=None, timeline=None, m transcode_decision = 'Direct Stream' else: transcode_decision = 'Direct Play' + transcode_decision_count = Counter(s['transcode_decision'] for s in sessions) + user_transcode_decision_count = Counter(s['transcode_decision'] for s in user_sessions) if notify_action != 'on_play': stream_duration = int((time.time() - @@ -808,7 +810,13 @@ def build_media_notify_params(notify_action=None, session=None, timeline=None, m 'utctime': helpers.utc_now_iso(), # Stream parameters 'streams': stream_count, + 'direct_plays': transcode_decision_count['direct play'], + 'direct_streams': transcode_decision_count['copy'], + 'transcodes': transcode_decision_count['transcode'], 'user_streams': user_stream_count, + 'user_direct_plays': user_transcode_decision_count['direct play'], + 'user_direct_streams': user_transcode_decision_count['copy'], + 'user_transcodes': user_transcode_decision_count['transcode'], 'user': notify_params['friendly_name'], 'username': notify_params['user'], 'user_email': notify_params['email'],