Optimize library watch time query

This commit is contained in:
JonnyWong16 2021-03-27 19:54:21 -07:00
parent 7442e53c6c
commit 6d13051b1e
No known key found for this signature in database
GPG key ID: B1F1F9807184697A

View file

@ -22,6 +22,7 @@ from future.builtins import object
import json import json
import os import os
from datetime import datetime, timedelta
import plexpy import plexpy
if plexpy.PYTHON2: if plexpy.PYTHON2:
@ -910,6 +911,8 @@ class Libraries(object):
group_by = 'session_history.reference_id' if grouping else 'session_history.id' group_by = 'session_history.reference_id' if grouping else 'session_history.id'
for days in query_days: for days in query_days:
timestamp = int((datetime.now(tz=plexpy.SYS_TIMEZONE) - timedelta(days=days)).timestamp())
try: try:
if days > 0: if days > 0:
if str(section_id).isdigit(): if str(section_id).isdigit():
@ -918,8 +921,8 @@ class Libraries(object):
'COUNT(DISTINCT %s) AS total_plays ' \ 'COUNT(DISTINCT %s) AS total_plays ' \
'FROM session_history ' \ 'FROM session_history ' \
'JOIN session_history_metadata ON session_history_metadata.id = session_history.id ' \ 'JOIN session_history_metadata ON session_history_metadata.id = session_history.id ' \
'WHERE datetime(stopped, "unixepoch", "localtime") >= datetime("now", "-%s days", "localtime") ' \ 'WHERE stopped >= %s ' \
'AND section_id = ?' % (group_by, days) 'AND section_id = ?' % (group_by, timestamp)
result = monitor_db.select(query, args=[section_id]) result = monitor_db.select(query, args=[section_id])
else: else:
result = [] result = []