diff --git a/data/interfaces/default/settings.html b/data/interfaces/default/settings.html index 672c9fbf..d6430744 100644 --- a/data/interfaces/default/settings.html +++ b/data/interfaces/default/settings.html @@ -1144,6 +1144,10 @@ available_notification_agents = sorted(notifiers.available_notification_agents() {progress} The last reported offset (in minutes) for the item. + + {progress_time} + The last reported offset (in HH:MM:SS) for the item. + {progress_percent} The last reported progress percent for the item. diff --git a/plexpy/helpers.py b/plexpy/helpers.py index cb11e87d..33c31c67 100644 --- a/plexpy/helpers.py +++ b/plexpy/helpers.py @@ -145,6 +145,14 @@ def today(): def now(): now = datetime.datetime.now() return now.strftime("%Y-%m-%d %H:%M:%S") + +def human_progress(ms): + hp = '' + if str(ms).isdigit(): + seconds = float(ms)/1000 + gmtime = time.gmtime(seconds) + hp = time.strftime("%H:%M:%S", gmtime) + return hp def human_duration(s, sig='dhms'): diff --git a/plexpy/notification_handler.py b/plexpy/notification_handler.py index 402910d3..cf3bfe5e 100644 --- a/plexpy/notification_handler.py +++ b/plexpy/notification_handler.py @@ -484,6 +484,7 @@ def build_notify_text(session=None, timeline=None, state=None): stream_duration = int((time.time() - helpers.cast_to_float(session['started'])) / 60) view_offset = helpers.convert_milliseconds_to_minutes(session['view_offset']) + progress_time = helpers.human_progress(session['view_offset']) user = session['friendly_name'] platform = session['platform'] player = session['player'] @@ -535,6 +536,7 @@ def build_notify_text(session=None, timeline=None, state=None): 'stream_duration': stream_duration, 'remaining_duration': duration - view_offset, 'progress': view_offset, + 'progress_time': progress_time, 'progress_percent': progress_percent, 'container': container, 'video_codec': video_codec,