removed plextv / pms, added TODO's for reimplementing Jellyfin

This commit is contained in:
2021-02-05 21:01:43 +01:00
parent af3c826f7d
commit 38f0a44fa0
16 changed files with 733 additions and 4835 deletions

View File

@@ -25,7 +25,6 @@ from jellypy import database
from jellypy import datatables
from jellypy import helpers
from jellypy import logger
from jellypy import pmsconnect
from jellypy import session
@@ -1589,7 +1588,7 @@ class DataFactory(object):
return key_list
def update_metadata(self, old_key_list='', new_key_list='', media_type=''):
pms_connect = pmsconnect.PmsConnect()
# TODO: pms_connect = pmsconnect.PmsConnect()
monitor_db = database.MonitorDatabase()
# function to map rating keys pairs
@@ -1608,37 +1607,38 @@ class DataFactory(object):
if old_key_list and new_key_list:
mapping = get_pairs(old_key_list, new_key_list)
if mapping:
logger.info("Tautulli DataFactory :: Updating metadata in the database.")
for old_key, new_key in mapping.items():
metadata = pms_connect.get_metadata_details(new_key)
if metadata:
if metadata['media_type'] == 'show' or metadata['media_type'] == 'artist':
# check grandparent_rating_key (2 tables)
monitor_db.action(
'UPDATE session_history SET grandparent_rating_key = ? WHERE grandparent_rating_key = ?',
[new_key, old_key])
monitor_db.action(
'UPDATE session_history_metadata SET grandparent_rating_key = ? WHERE grandparent_rating_key = ?',
[new_key, old_key])
elif metadata['media_type'] == 'season' or metadata['media_type'] == 'album':
# check parent_rating_key (2 tables)
monitor_db.action(
'UPDATE session_history SET parent_rating_key = ? WHERE parent_rating_key = ?',
[new_key, old_key])
monitor_db.action(
'UPDATE session_history_metadata SET parent_rating_key = ? WHERE parent_rating_key = ?',
[new_key, old_key])
else:
# check rating_key (2 tables)
monitor_db.action('UPDATE session_history SET rating_key = ? WHERE rating_key = ?',
[new_key, old_key])
monitor_db.action('UPDATE session_history_media_info SET rating_key = ? WHERE rating_key = ?',
[new_key, old_key])
# update session_history_metadata table
self.update_metadata_details(old_key, new_key, metadata)
# TODO: Jellyfin
# if mapping:
# logger.info("Tautulli DataFactory :: Updating metadata in the database.")
# for old_key, new_key in mapping.items():
# metadata = pms_connect.get_metadata_details(new_key)
#
# if metadata:
# if metadata['media_type'] == 'show' or metadata['media_type'] == 'artist':
# # check grandparent_rating_key (2 tables)
# monitor_db.action(
# 'UPDATE session_history SET grandparent_rating_key = ? WHERE grandparent_rating_key = ?',
# [new_key, old_key])
# monitor_db.action(
# 'UPDATE session_history_metadata SET grandparent_rating_key = ? WHERE grandparent_rating_key = ?',
# [new_key, old_key])
# elif metadata['media_type'] == 'season' or metadata['media_type'] == 'album':
# # check parent_rating_key (2 tables)
# monitor_db.action(
# 'UPDATE session_history SET parent_rating_key = ? WHERE parent_rating_key = ?',
# [new_key, old_key])
# monitor_db.action(
# 'UPDATE session_history_metadata SET parent_rating_key = ? WHERE parent_rating_key = ?',
# [new_key, old_key])
# else:
# # check rating_key (2 tables)
# monitor_db.action('UPDATE session_history SET rating_key = ? WHERE rating_key = ?',
# [new_key, old_key])
# monitor_db.action('UPDATE session_history_media_info SET rating_key = ? WHERE rating_key = ?',
# [new_key, old_key])
#
# # update session_history_metadata table
# self.update_metadata_details(old_key, new_key, metadata)
return 'Updated metadata in database.'
else:
@@ -1886,23 +1886,24 @@ class DataFactory(object):
def set_recently_added_item(self, rating_key=''):
monitor_db = database.MonitorDatabase()
pms_connect = pmsconnect.PmsConnect()
metadata = pms_connect.get_metadata_details(rating_key)
keys = {'rating_key': metadata['rating_key']}
values = {'added_at': metadata['added_at'],
'section_id': metadata['section_id'],
'parent_rating_key': metadata['parent_rating_key'],
'grandparent_rating_key': metadata['grandparent_rating_key'],
'media_type': metadata['media_type'],
'media_info': json.dumps(metadata['media_info'])
}
try:
monitor_db.upsert(table_name='recently_added', key_dict=keys, value_dict=values)
except Exception as e:
logger.warn("Tautulli DataFactory :: Unable to execute database query for set_recently_added_item: %s." % e)
return False
# TODO: Jellyfin
# pms_connect = pmsconnect.PmsConnect()
# metadata = pms_connect.get_metadata_details(rating_key)
#
# keys = {'rating_key': metadata['rating_key']}
#
# values = {'added_at': metadata['added_at'],
# 'section_id': metadata['section_id'],
# 'parent_rating_key': metadata['parent_rating_key'],
# 'grandparent_rating_key': metadata['grandparent_rating_key'],
# 'media_type': metadata['media_type'],
# 'media_info': json.dumps(metadata['media_info'])
# }
#
# try:
# monitor_db.upsert(table_name='recently_added', key_dict=keys, value_dict=values)
# except Exception as e:
# logger.warn("Tautulli DataFactory :: Unable to execute database query for set_recently_added_item: %s." % e)
# return False
return True