Merge branch 'fix/cast-not-available-mediaType-scrapper-parentTrail'

This commit is contained in:
GrégoireDruant 2023-05-07 13:29:22 +02:00
commit dd66f50299
5 changed files with 56 additions and 7 deletions

View file

@ -77,6 +77,9 @@ class Kodi(object):
except TypeError:
return
def update_path_parent_id(self, path_id, parent_path_id):
self.cursor.execute(QU.update_path_parent_id, (parent_path_id, path_id))
def update_path(self, *args):
self.cursor.execute(QU.update_path, args)

View file

@ -334,17 +334,22 @@ VALUES (?, ?, ?)
"""
add_episode = """
INSERT INTO episode(idEpisode, idFile, c00, c01, c03, c04, c05, c09, c10, c12, c13, c14,
idShow, c15, c16, idSeason)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
idShow, c15, c16, idSeason, c18, c19, c20)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
"""
add_episode_obj = ["{EpisodeId}", "{FileId}", "{Title}", "{Plot}", "{RatingId}", "{Writers}", "{Premiere}", "{Runtime}",
"{Directors}", "{Season}", "{Index}", "{Title}", "{ShowId}", "{AirsBeforeSeason}",
"{AirsBeforeEpisode}", "{SeasonId}"]
"{AirsBeforeEpisode}", "{SeasonId}", "{FullFilePath}", "{PathId}", "{Unique}"]
add_art = """
INSERT INTO art(media_id, media_type, type, url)
VALUES (?, ?, ?, ?)
"""
update_path_parent_id = """
UPDATE path
SET idParentPath = ?
where idPath = ?
"""
update_path = """
UPDATE path
@ -353,8 +358,8 @@ WHERE idPath = ?
"""
update_path_movie_obj = ["{Path}", "movies", "metadata.local", 1, "{PathId}"]
update_path_toptvshow_obj = ["{TopLevel}", "tvshows", "metadata.local", 1, "{TopPathId}"]
update_path_tvshow_obj = ["{Path}", "tvshows", "metadata.local", 1, "{PathId}"]
update_path_episode_obj = ["{Path}", "tvshows", "metadata.local", 1, "{PathId}"]
update_path_tvshow_obj = ["{Path}", None, None, 1, "{PathId}"]
update_path_episode_obj = ["{Path}", None, None, 1, "{PathId}"]
update_path_mvideo_obj = ["{Path}", "musicvideos", "metadata.local", 1, "{PathId}"]
update_file = """
@ -469,12 +474,13 @@ WHERE idSeason = ?
update_episode = """
UPDATE episode
SET c00 = ?, c01 = ?, c03 = ?, c04 = ?, c05 = ?, c09 = ?, c10 = ?,
c12 = ?, c13 = ?, c14 = ?, c15 = ?, c16 = ?, idSeason = ?, idShow = ?
c12 = ?, c13 = ?, c14 = ?, c15 = ?, c16 = ?, idSeason = ?, idShow = ?,
c18 = ?, c19 = ?, c20 = ?
WHERE idEpisode = ?
"""
update_episode_obj = ["{Title}", "{Plot}", "{RatingId}", "{Writers}", "{Premiere}", "{Runtime}", "{Directors}",
"{Season}", "{Index}", "{Title}", "{AirsBeforeSeason}", "{AirsBeforeEpisode}", "{SeasonId}",
"{ShowId}", "{EpisodeId}"]
"{ShowId}", "{FullFilePath}", "{PathId}", "{Unique}", "{EpisodeId}"]
delete_path = """

View file

@ -177,6 +177,8 @@ class TVShows(KodiDb):
self.jellyfin_db.add_reference(*values(obj, QUEM.add_reference_tvshow_obj))
LOG.debug("ADD tvshow [%s/%s/%s] %s: %s", obj['TopPathId'], obj['PathId'], obj['ShowId'], obj['Title'], obj['Id'])
self.update_path_parent_id(obj['PathId'], obj['TopPathId'])
def tvshow_update(self, obj):
''' Update object to kodi.
@ -187,10 +189,14 @@ class TVShows(KodiDb):
obj['Unique'] = self.get_unique_id(*values(obj, QU.get_unique_id_tvshow_obj))
self.update_unique_id(*values(obj, QU.update_unique_id_tvshow_obj))
obj['TopPathId'] = self.get_path(obj['TopLevel'])
self.update(*values(obj, QU.update_tvshow_obj))
self.jellyfin_db.update_reference(*values(obj, QUEM.update_reference_obj))
LOG.debug("UPDATE tvshow [%s/%s] %s: %s", obj['PathId'], obj['ShowId'], obj['Title'], obj['Id'])
self.update_path_parent_id(obj['PathId'], obj['TopPathId'])
def get_path_filename(self, obj):
''' Get the path and build it into protocol://path
@ -200,6 +206,9 @@ class TVShows(KodiDb):
if '\\' in obj['Path']:
obj['Path'] = "%s\\" % obj['Path']
obj['TopLevel'] = "%s\\" % dirname(dirname(obj['Path']))
elif 'smb://' in obj['Path'] or 'nfs://' in obj['Path']:
obj['Path'] = "%s/" % obj['Path']
obj['TopLevel'] = "%s/" % dirname(dirname(obj['Path']))
else:
obj['Path'] = "%s/" % obj['Path']
obj['TopLevel'] = "plugin://plugin.video.jellyfin/"
@ -377,6 +386,11 @@ class TVShows(KodiDb):
return self.episode_add(obj)
self.jellyfin_db.add_reference(*values(obj, QUEM.add_reference_episode_obj))
parentPathId = self.jellyfin_db.get_episode_kodi_parent_path_id(*values(obj, QUEM.get_episode_kodi_parent_path_id_obj))
LOG.debug("Setting episode pathParentId, episode %s, title %s, pathId %s, pathParentId %s", obj['Id'], obj['Title'], obj['PathId'], parentPathId)
self.update_path_parent_id(obj['PathId'], parentPathId)
LOG.debug("ADD episode [%s/%s] %s: %s", obj['PathId'], obj['FileId'], obj['Id'], obj['Title'])
def episode_update(self, obj):
@ -423,6 +437,8 @@ class TVShows(KodiDb):
obj['Filename'] = 'index.bdmv'
LOG.debug("Bluray directory %s", obj['Path'])
obj['FullFilePath'] = obj['Path'] + obj['Filename']
else:
obj['Path'] = "plugin://plugin.video.jellyfin/%s/" % obj['SeriesId']
params = {
@ -432,6 +448,7 @@ class TVShows(KodiDb):
'mode': "play"
}
obj['Filename'] = "%s?%s" % (obj['Path'], urlencode(params))
obj['FullFilePath'] = obj['Filename']
def get_show_id(self, obj):
obj['ShowId'] = self.jellyfin_db.get_item_by_id(*values(obj, QUEM.get_item_series_obj))