From 89a03fb263f2ad1aa4c68fff2db188db79f4acde Mon Sep 17 00:00:00 2001 From: Tim Date: Wed, 23 Sep 2015 19:40:22 +0200 Subject: [PATCH] Fix the real reason we were getting double start notifications. --- plexpy/activity_handler.py | 2 +- plexpy/activity_processor.py | 7 ++++--- plexpy/notifiers.py | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/plexpy/activity_handler.py b/plexpy/activity_handler.py index 1f8298fe..675eb891 100644 --- a/plexpy/activity_handler.py +++ b/plexpy/activity_handler.py @@ -51,7 +51,7 @@ class ActivityHandler(object): def update_db_session(self): # Update our session temp table values monitor_proc = activity_processor.ActivityProcessor() - monitor_proc.write_session(self.get_live_session()) + monitor_proc.write_session(session=self.get_live_session(), notify=False) def on_start(self): if self.is_valid_session(): diff --git a/plexpy/activity_processor.py b/plexpy/activity_processor.py index c82ea51f..ed926254 100644 --- a/plexpy/activity_processor.py +++ b/plexpy/activity_processor.py @@ -26,7 +26,7 @@ class ActivityProcessor(object): def __init__(self): self.db = database.MonitorDatabase() - def write_session(self, session=None): + def write_session(self, session=None, notify=True): if session: values = {'session_key': session['session_key'], 'rating_key': session['rating_key'], @@ -73,8 +73,9 @@ class ActivityProcessor(object): if result == 'insert': # Push any notifications - Push it on it's own thread so we don't hold up our db actions - threading.Thread(target=notification_handler.notify, - kwargs=dict(stream_data=values,notify_action='play')).start() + if notify: + threading.Thread(target=notification_handler.notify, + kwargs=dict(stream_data=values, notify_action='play')).start() started = int(time.time()) diff --git a/plexpy/notifiers.py b/plexpy/notifiers.py index e780fef7..adc24a38 100644 --- a/plexpy/notifiers.py +++ b/plexpy/notifiers.py @@ -1106,6 +1106,7 @@ class OSX_NOTIFY(object): notification_center = NSUserNotificationCenter.defaultUserNotificationCenter() notification_center.deliverNotification_(notification) + logger.info(u"OSX Notify notifications sent.") del pool return True