mirror of
https://github.com/jellyfin/jellyfin-kodi.git
synced 2024-12-26 10:46:11 +00:00
Merge branch 'fix/cast-not-available-parentId-method' into fix/cast-not-available-mediaType-scrapper-parentTrail
This commit is contained in:
commit
7031a3e98f
5 changed files with 51 additions and 3 deletions
|
@ -71,6 +71,15 @@ class JellyfinDatabase():
|
|||
except TypeError:
|
||||
return
|
||||
|
||||
def get_episode_kodi_parent_path_id(self, *args):
|
||||
|
||||
try:
|
||||
self.cursor.execute(QU.get_episode_kodi_parent_path_id, args)
|
||||
|
||||
return self.cursor.fetchone()[0]
|
||||
except TypeError:
|
||||
return
|
||||
|
||||
def get_full_item_by_kodi_id(self, *args):
|
||||
|
||||
try:
|
||||
|
|
|
@ -166,3 +166,17 @@ WHERE jellyfin_parent_id = ?
|
|||
delete_version = """
|
||||
DELETE FROM version
|
||||
"""
|
||||
|
||||
get_episode_kodi_parent_path_id = """
|
||||
SELECT sh.kodi_pathid
|
||||
FROM jellyfin e
|
||||
JOIN jellyfin s
|
||||
ON e.parent_id = s.kodi_id
|
||||
JOIN jellyfin sh
|
||||
ON s.parent_id = sh.kodi_id
|
||||
WHERE e.media_type = ?
|
||||
AND s.media_type = ?
|
||||
AND sh.media_type = ?
|
||||
AND e.jellyfin_id = ?;
|
||||
"""
|
||||
get_episode_kodi_parent_path_id_obj = ["episode", "season", "tvshow", "{Id}"]
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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, c20)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
"""
|
||||
add_episode_obj = ["{EpisodeId}", "{FileId}", "{Title}", "{Plot}", "{RatingId}", "{Writers}", "{Premiere}", "{Runtime}",
|
||||
"{Directors}", "{Season}", "{Index}", "{Title}", "{ShowId}", "{AirsBeforeSeason}",
|
||||
"{AirsBeforeEpisode}", "{SeasonId}"]
|
||||
"{AirsBeforeEpisode}", "{SeasonId}", "{Filename}", "{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
|
||||
|
|
|
@ -177,6 +177,9 @@ 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'])
|
||||
|
||||
# TODO: Greg
|
||||
self.update_path_parent_id(obj['PathId'], obj['TopPathId'])
|
||||
|
||||
def tvshow_update(self, obj):
|
||||
|
||||
''' Update object to kodi.
|
||||
|
@ -187,10 +190,15 @@ 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'])
|
||||
|
||||
# TODO: Greg
|
||||
self.update_path_parent_id(obj['PathId'], obj['TopPathId'])
|
||||
|
||||
def get_path_filename(self, obj):
|
||||
|
||||
''' Get the path and build it into protocol://path
|
||||
|
@ -259,6 +267,9 @@ class TVShows(KodiDb):
|
|||
obj = self.objects.map(item, 'Episode')
|
||||
update = True
|
||||
|
||||
LOG.debug("EPISODE item: [%s]", item)
|
||||
LOG.debug("EPISODE e_item: [%s]", e_item)
|
||||
|
||||
if obj['Location'] == "Virtual":
|
||||
LOG.info("Skipping virtual episode %s: %s", obj['Title'], obj['Id'])
|
||||
|
||||
|
@ -377,6 +388,12 @@ class TVShows(KodiDb):
|
|||
return self.episode_add(obj)
|
||||
|
||||
self.jellyfin_db.add_reference(*values(obj, QUEM.add_reference_episode_obj))
|
||||
|
||||
# TODO Greg
|
||||
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):
|
||||
|
|
Loading…
Reference in a new issue