Check concurrent streams from the server instead of database

This commit is contained in:
JonnyWong16 2017-12-29 16:29:20 -08:00
parent 41f91956b8
commit c37e934f42

View file

@ -16,6 +16,7 @@
import arrow import arrow
import bleach import bleach
from collections import Counter
from itertools import groupby from itertools import groupby
import json import json
from operator import itemgetter from operator import itemgetter
@ -145,9 +146,16 @@ def notify_conditions(notify_action=None, stream_data=None, timeline_data=None):
return False return False
if notify_action == 'on_concurrent': if notify_action == 'on_concurrent':
ap = activity_processor.ActivityProcessor() pms_connect = pmsconnect.PmsConnect()
user_sessions = ap.get_sessions(user_id=stream_data['user_id'], result = pms_connect.get_current_activity()
ip_address=plexpy.CONFIG.NOTIFY_CONCURRENT_BY_IP)
user_sessions = []
if result:
user_sessions = [s for s in result['sessions'] if s['user_id'] == stream_data['user_id']]
if plexpy.CONFIG.NOTIFY_CONCURRENT_BY_IP:
return len(Counter(s['ip_address'] for s in user_sessions)) >= plexpy.CONFIG.NOTIFY_CONCURRENT_THRESHOLD
else:
return len(user_sessions) >= plexpy.CONFIG.NOTIFY_CONCURRENT_THRESHOLD return len(user_sessions) >= plexpy.CONFIG.NOTIFY_CONCURRENT_THRESHOLD
elif notify_action == 'on_newdevice': elif notify_action == 'on_newdevice':