mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-08-14 02:26:58 -07:00
Add last played metadata to library stats
This commit is contained in:
parent
ddcf350353
commit
3631e723bc
1 changed files with 41 additions and 9 deletions
|
@ -1038,12 +1038,21 @@ class DataFactory(object):
|
|||
library_stats = []
|
||||
|
||||
try:
|
||||
query = 'SELECT section_id, section_name, section_type, thumb AS library_thumb, ' \
|
||||
'custom_thumb_url AS custom_thumb, art AS library_art, custom_art_url AS custom_art, ' \
|
||||
'count, parent_count, child_count ' \
|
||||
'FROM library_sections ' \
|
||||
'WHERE section_id IN (%s) AND deleted_section = 0 ' \
|
||||
'ORDER BY section_type, count DESC, parent_count DESC, child_count DESC ' % ','.join(library_cards)
|
||||
query = 'SELECT ls.id, ls.section_id, ls.section_name, ls.section_type, ls.thumb AS library_thumb, ' \
|
||||
'ls.custom_thumb_url AS custom_thumb, ls.art AS library_art, ls.custom_art_url AS custom_art, ' \
|
||||
'ls.count, ls.parent_count, ls.child_count, ' \
|
||||
'sh.id, shm.title, shm.grandparent_title, shm.full_title, shm.year, ' \
|
||||
'shm.media_index, shm.parent_media_index, ' \
|
||||
'sh.rating_key, shm.grandparent_rating_key, shm.thumb, shm.grandparent_thumb, ' \
|
||||
'sh.user, sh.user_id, sh.player, sh.section_id, ' \
|
||||
'shm.art, sh.media_type, shm.content_rating, shm.labels, shm.live, shm.guid, ' \
|
||||
'MAX(sh.started) AS last_watch ' \
|
||||
'FROM library_sections AS ls ' \
|
||||
'JOIN session_history AS sh ON ls.section_id = sh.section_id ' \
|
||||
'JOIN session_history_metadata AS shm ON sh.id = shm.id ' \
|
||||
'WHERE ls.section_id IN (%s) AND ls.deleted_section = 0 ' \
|
||||
'GROUP BY ls.id ' \
|
||||
'ORDER BY ls.section_type, ls.count DESC, ls.parent_count DESC, ls.child_count DESC ' % ','.join(library_cards)
|
||||
result = monitor_db.select(query)
|
||||
except Exception as e:
|
||||
logger.warn("Tautulli DataFactory :: Unable to execute database query for get_library_stats: %s." % e)
|
||||
|
@ -1062,17 +1071,40 @@ class DataFactory(object):
|
|||
else:
|
||||
library_art = item['library_art']
|
||||
|
||||
if not item['grandparent_thumb'] or item['grandparent_thumb'] == '':
|
||||
thumb = item['thumb']
|
||||
else:
|
||||
thumb = item['grandparent_thumb']
|
||||
|
||||
library = {'section_id': item['section_id'],
|
||||
'section_name': item['section_name'],
|
||||
'section_type': item['section_type'],
|
||||
'thumb': library_thumb,
|
||||
'art': library_art,
|
||||
'library_thumb': library_thumb,
|
||||
'library_art': library_art,
|
||||
'count': item['count'],
|
||||
'child_count': item['parent_count'],
|
||||
'grandchild_count': item['child_count']
|
||||
'grandchild_count': item['child_count'],
|
||||
'thumb': thumb,
|
||||
'grandparent_thumb': item['grandparent_thumb'],
|
||||
'art': item['art'],
|
||||
'title': item['full_title'],
|
||||
'grandparent_title': item['grandparent_title'],
|
||||
'grandchild_title': item['title'],
|
||||
'year': item['year'],
|
||||
'media_index': item['media_index'],
|
||||
'parent_media_index': item['parent_media_index'],
|
||||
'rating_key': item['rating_key'],
|
||||
'grandparent_rating_key': item['grandparent_rating_key'],
|
||||
'media_type': item['media_type'],
|
||||
'content_rating': item['content_rating'],
|
||||
'labels': item['labels'].split(';') if item['labels'] else (),
|
||||
'live': item['live'],
|
||||
'guid': item['guid'],
|
||||
'row_id': item['id']
|
||||
}
|
||||
library_stats.append(library)
|
||||
|
||||
library_stats = session.mask_session_info(library_stats)
|
||||
library_stats = {k: list(v) for k, v in groupby(library_stats, key=lambda x: x['section_type'])}
|
||||
|
||||
return library_stats
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue