Change emby to jellyfin in functions, variables etc.

This commit is contained in:
Claus Vium 2019-02-02 18:21:22 +01:00
parent 647636430f
commit 233192863a
39 changed files with 273 additions and 278 deletions

View file

@ -11,8 +11,8 @@ from ntpath import dirname
from obj import Objects
from kodi import TVShows as KodiDb, queries as QU
import downloader as server
from database import emby_db, queries as QUEM
from helper import api, catch, stop, validate, emby_item, library_check, settings, values, Local
from database import jellyfin_db, queries as QUEM
from helper import api, catch, stop, validate, jellyfin_item, library_check, settings, values, Local
##################################################################################################
@ -23,15 +23,15 @@ LOG = logging.getLogger("JELLYFIN."+__name__)
class TVShows(KodiDb):
def __init__(self, server, embydb, videodb, direct_path, update_library=False):
def __init__(self, server, jellyfindb, videodb, direct_path, update_library=False):
self.server = server
self.emby = embydb
self.jellyfin = jellyfindb
self.video = videodb
self.direct_path = direct_path
self.update_library = update_library
self.emby_db = emby_db.EmbyDatabase(embydb.cursor)
self.jellyfin_db = jellyfin_db.JellyfinDatabase(jellyfindb.cursor)
self.objects = Objects()
self.item_ids = []
@ -51,7 +51,7 @@ class TVShows(KodiDb):
return self.remove
@stop()
@emby_item()
@jellyfin_item()
@library_check()
def tvshow(self, item, e_item, library):
@ -143,18 +143,18 @@ class TVShows(KodiDb):
self.item_ids.append(season['SeriesId'])
try:
self.emby_db.get_item_by_id(*values(obj, QUEM.get_item_series_obj))[0]
self.jellyfin_db.get_item_by_id(*values(obj, QUEM.get_item_series_obj))[0]
if self.update_library:
season_episodes[season['Id']] = season['SeriesId']
except TypeError:
self.emby_db.add_reference(*values(obj, QUEM.add_reference_pool_obj))
self.jellyfin_db.add_reference(*values(obj, QUEM.add_reference_pool_obj))
LOG.info("POOL %s [%s/%s]", obj['Title'], obj['Id'], obj['SeriesId'])
season_episodes[season['Id']] = season['SeriesId']
try:
self.emby_db.get_item_by_id(season['Id'])[0]
self.jellyfin_db.get_item_by_id(season['Id'])[0]
self.item_ids.append(season['Id'])
except TypeError:
self.season(season, obj['ShowId'])
@ -184,7 +184,7 @@ class TVShows(KodiDb):
obj['PathId'] = self.add_path(*values(obj, QU.get_path_obj))
self.add(*values(obj, QU.add_tvshow_obj))
self.emby_db.add_reference(*values(obj, QUEM.add_reference_tvshow_obj))
self.jellyfin_db.add_reference(*values(obj, QUEM.add_reference_tvshow_obj))
LOG.info("ADD tvshow [%s/%s/%s] %s: %s", obj['TopPathId'], obj['PathId'], obj['ShowId'], obj['Title'], obj['Id'])
def tvshow_update(self, obj):
@ -198,7 +198,7 @@ class TVShows(KodiDb):
self.update_unique_id(*values(obj, QU.update_unique_id_tvshow_obj))
self.update(*values(obj, QU.update_tvshow_obj))
self.emby_db.update_reference(*values(obj, QUEM.update_reference_obj))
self.jellyfin_db.update_reference(*values(obj, QUEM.update_reference_obj))
LOG.info("UPDATE tvshow [%s/%s] %s: %s", obj['PathId'], obj['ShowId'], obj['Title'], obj['Id'])
def get_path_filename(self, obj):
@ -237,7 +237,7 @@ class TVShows(KodiDb):
if obj['ShowId'] is None:
try:
obj['ShowId'] = self.emby_db.get_item_by_id(*values(obj, QUEM.get_item_series_obj))[0]
obj['ShowId'] = self.jellyfin_db.get_item_by_id(*values(obj, QUEM.get_item_series_obj))[0]
except (KeyError, TypeError):
LOG.error("Unable to add series %s", obj['SeriesId'])
@ -247,7 +247,7 @@ class TVShows(KodiDb):
obj['Artwork'] = API.get_all_artwork(self.objects.map(item, 'Artwork'))
if obj['Location'] != "Virtual":
self.emby_db.add_reference(*values(obj, QUEM.add_reference_season_obj))
self.jellyfin_db.add_reference(*values(obj, QUEM.add_reference_season_obj))
self.item_ids.append(obj['Id'])
self.artwork.add(obj['Artwork'], obj['SeasonId'], "season")
@ -255,7 +255,7 @@ class TVShows(KodiDb):
@stop()
@emby_item()
@jellyfin_item()
def episode(self, item, e_item):
''' If item does not exist, entry will be added.
@ -384,7 +384,7 @@ class TVShows(KodiDb):
return self.episode_add(obj)
self.emby_db.add_reference(*values(obj, QUEM.add_reference_episode_obj))
self.jellyfin_db.add_reference(*values(obj, QUEM.add_reference_episode_obj))
LOG.debug("ADD episode [%s/%s] %s: %s", obj['PathId'], obj['FileId'], obj['Id'], obj['Title'])
def episode_update(self, obj):
@ -399,8 +399,8 @@ class TVShows(KodiDb):
self.update_episode(*values(obj, QU.update_episode_obj))
self.emby_db.update_reference(*values(obj, QUEM.update_reference_obj))
self.emby_db.update_parent_id(*values(obj, QUEM.update_parent_episode_obj))
self.jellyfin_db.update_reference(*values(obj, QUEM.update_reference_obj))
self.jellyfin_db.update_parent_id(*values(obj, QUEM.update_parent_episode_obj))
LOG.debug("UPDATE episode [%s/%s] %s: %s", obj['PathId'], obj['FileId'], obj['Id'], obj['Title'])
def get_episode_path_filename(self, obj):
@ -429,13 +429,13 @@ class TVShows(KodiDb):
obj['Filename'] = "%s?%s" % (obj['Path'], urllib.urlencode(params))
def get_show_id(self, obj):
obj['ShowId'] = self.emby_db.get_item_by_id(*values(obj, QUEM.get_item_series_obj))
obj['ShowId'] = self.jellyfin_db.get_item_by_id(*values(obj, QUEM.get_item_series_obj))
if obj['ShowId'] is None:
try:
self.tvshow(self.server['api'].get_item(obj['SeriesId']), library=None)
obj['ShowId'] = self.emby_db.get_item_by_id(*values(obj, QUEM.get_item_series_obj))[0]
obj['ShowId'] = self.jellyfin_db.get_item_by_id(*values(obj, QUEM.get_item_series_obj))[0]
except (TypeError, KeyError):
LOG.error("Unable to add series %s", obj['SeriesId'])
@ -449,7 +449,7 @@ class TVShows(KodiDb):
@stop()
@emby_item()
@jellyfin_item()
def userdata(self, item, e_item):
''' This updates: Favorite, LastPlayedDate, Playcount, PlaybackPositionTicks
@ -505,11 +505,11 @@ class TVShows(KodiDb):
self.update_file(*values(temp_obj, QU.update_file_obj))
self.add_playstate(*values(temp_obj, QU.add_bookmark_obj))
self.emby_db.update_reference(*values(obj, QUEM.update_reference_obj))
self.jellyfin_db.update_reference(*values(obj, QUEM.update_reference_obj))
LOG.info("USERDATA %s [%s/%s] %s: %s", obj['Media'], obj['FileId'], obj['KodiId'], obj['Id'], obj['Title'])
@stop()
@emby_item()
@jellyfin_item()
def remove(self, item_id, e_item):
''' Remove showid, fileid, pathid, jellyfin reference.
@ -529,7 +529,7 @@ class TVShows(KodiDb):
temp_obj = dict(obj)
self.remove_episode(obj['KodiId'], obj['FileId'], obj['Id'])
season = self.emby_db.get_full_item_by_kodi_id(*values(obj, QUEM.delete_item_by_parent_season_obj))
season = self.jellyfin_db.get_full_item_by_kodi_id(*values(obj, QUEM.delete_item_by_parent_season_obj))
try:
temp_obj['Id'] = season[0]
@ -537,61 +537,61 @@ class TVShows(KodiDb):
except TypeError:
return
if not self.emby_db.get_item_by_parent_id(*values(obj, QUEM.get_item_by_parent_episode_obj)):
if not self.jellyfin_db.get_item_by_parent_id(*values(obj, QUEM.get_item_by_parent_episode_obj)):
self.remove_season(obj['ParentId'], obj['Id'])
self.emby_db.remove_item(*values(temp_obj, QUEM.delete_item_obj))
self.jellyfin_db.remove_item(*values(temp_obj, QUEM.delete_item_obj))
temp_obj['Id'] = self.emby_db.get_item_by_kodi_id(*values(temp_obj, QUEM.get_item_by_parent_tvshow_obj))
temp_obj['Id'] = self.jellyfin_db.get_item_by_kodi_id(*values(temp_obj, QUEM.get_item_by_parent_tvshow_obj))
if not self.get_total_episodes(*values(temp_obj, QU.get_total_episodes_obj)):
for season in self.emby_db.get_item_by_parent_id(*values(temp_obj, QUEM.get_item_by_parent_season_obj)):
for season in self.jellyfin_db.get_item_by_parent_id(*values(temp_obj, QUEM.get_item_by_parent_season_obj)):
self.remove_season(season[1], obj['Id'])
else:
self.emby_db.remove_items_by_parent_id(*values(temp_obj, QUEM.delete_item_by_parent_season_obj))
self.jellyfin_db.remove_items_by_parent_id(*values(temp_obj, QUEM.delete_item_by_parent_season_obj))
self.remove_tvshow(temp_obj['ParentId'], obj['Id'])
self.emby_db.remove_item(*values(temp_obj, QUEM.delete_item_obj))
self.jellyfin_db.remove_item(*values(temp_obj, QUEM.delete_item_obj))
elif obj['Media'] == 'tvshow':
obj['ParentId'] = obj['KodiId']
for season in self.emby_db.get_item_by_parent_id(*values(obj, QUEM.get_item_by_parent_season_obj)):
for season in self.jellyfin_db.get_item_by_parent_id(*values(obj, QUEM.get_item_by_parent_season_obj)):
temp_obj = dict(obj)
temp_obj['ParentId'] = season[1]
for episode in self.emby_db.get_item_by_parent_id(*values(temp_obj, QUEM.get_item_by_parent_episode_obj)):
for episode in self.jellyfin_db.get_item_by_parent_id(*values(temp_obj, QUEM.get_item_by_parent_episode_obj)):
self.remove_episode(episode[1], episode[2], obj['Id'])
else:
self.emby_db.remove_items_by_parent_id(*values(temp_obj, QUEM.delete_item_by_parent_episode_obj))
self.jellyfin_db.remove_items_by_parent_id(*values(temp_obj, QUEM.delete_item_by_parent_episode_obj))
else:
self.emby_db.remove_items_by_parent_id(*values(obj, QUEM.delete_item_by_parent_season_obj))
self.jellyfin_db.remove_items_by_parent_id(*values(obj, QUEM.delete_item_by_parent_season_obj))
self.remove_tvshow(obj['KodiId'], obj['Id'])
elif obj['Media'] == 'season':
for episode in self.emby_db.get_item_by_parent_id(*values(obj, QUEM.get_item_by_parent_episode_obj)):
for episode in self.jellyfin_db.get_item_by_parent_id(*values(obj, QUEM.get_item_by_parent_episode_obj)):
self.remove_episode(episode[1], episode[2], obj['Id'])
else:
self.emby_db.remove_items_by_parent_id(*values(obj, QUEM.delete_item_by_parent_episode_obj))
self.jellyfin_db.remove_items_by_parent_id(*values(obj, QUEM.delete_item_by_parent_episode_obj))
self.remove_season(obj['KodiId'], obj['Id'])
if not self.emby_db.get_item_by_parent_id(*values(obj, QUEM.delete_item_by_parent_season_obj)):
if not self.jellyfin_db.get_item_by_parent_id(*values(obj, QUEM.delete_item_by_parent_season_obj)):
self.remove_tvshow(obj['ParentId'], obj['Id'])
self.emby_db.remove_item_by_kodi_id(*values(obj, QUEM.delete_item_by_parent_tvshow_obj))
self.jellyfin_db.remove_item_by_kodi_id(*values(obj, QUEM.delete_item_by_parent_tvshow_obj))
# Remove any series pooling episodes
for episode in self.emby_db.get_media_by_parent_id(obj['Id']):
for episode in self.jellyfin_db.get_media_by_parent_id(obj['Id']):
self.remove_episode(episode[2], episode[3], obj['Id'])
else:
self.emby_db.remove_media_by_parent_id(obj['Id'])
self.jellyfin_db.remove_media_by_parent_id(obj['Id'])
self.emby_db.remove_item(*values(obj, QUEM.delete_item_obj))
self.jellyfin_db.remove_item(*values(obj, QUEM.delete_item_obj))
def remove_tvshow(self, kodi_id, item_id):
@ -611,7 +611,7 @@ class TVShows(KodiDb):
self.delete_episode(kodi_id, file_id)
LOG.info("DELETE episode [%s/%s] %s", file_id, kodi_id, item_id)
@emby_item()
@jellyfin_item()
def get_child(self, item_id, e_item):
''' Get all child elements from tv show jellyfin id.
@ -629,16 +629,16 @@ class TVShows(KodiDb):
obj['ParentId'] = obj['KodiId']
for season in self.emby_db.get_item_by_parent_id(*values(obj, QUEM.get_item_by_parent_season_obj)):
for season in self.jellyfin_db.get_item_by_parent_id(*values(obj, QUEM.get_item_by_parent_season_obj)):
temp_obj = dict(obj)
temp_obj['ParentId'] = season[1]
child.append(season[0])
for episode in self.emby_db.get_item_by_parent_id(*values(temp_obj, QUEM.get_item_by_parent_episode_obj)):
for episode in self.jellyfin_db.get_item_by_parent_id(*values(temp_obj, QUEM.get_item_by_parent_episode_obj)):
child.append(episode[0])
for episode in self.emby_db.get_media_by_parent_id(obj['Id']):
for episode in self.jellyfin_db.get_media_by_parent_id(obj['Id']):
child.append(episode[0])
return child