Merge pull request #993 from JeroenED/JeroenED-patch-no-movies

Fix movies sync for Kodi 22 Piers
This commit is contained in:
Odd Stråbø 2025-09-14 06:40:05 +02:00 committed by GitHub
commit 1447061201
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 30 additions and 2 deletions

View file

@ -1,6 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from __future__ import division, absolute_import, print_function, unicode_literals from __future__ import division, absolute_import, print_function, unicode_literals
from sqlite3 import DatabaseError
################################################################################################## ##################################################################################################
from ...helper import LazyLogger from ...helper import LazyLogger
@ -17,10 +19,18 @@ LOG = LazyLogger(__name__)
class Movies(Kodi): class Movies(Kodi):
itemtype: int
def __init__(self, cursor): def __init__(self, cursor):
self.cursor = cursor self.cursor = cursor
Kodi.__init__(self) Kodi.__init__(self)
try:
self.cursor.execute(QU.get_videoversion_itemtype, [40400])
self.itemtype = self.cursor.fetchone()[0]
except (IndexError, DatabaseError, TypeError) as e:
LOG.warning("Unable to fetch videoversion itemtype: %s", e)
self.itemtype = 0
def create_entry_unique_id(self): def create_entry_unique_id(self):
self.cursor.execute(QU.create_unique_id) self.cursor.execute(QU.create_unique_id)
@ -150,6 +160,13 @@ class Movies(Kodi):
def omega_migration(self): def omega_migration(self):
""" """
Adds a video version for all existing movies Adds a video version for all existing movies
For Omega: video_version_id = 0
For Piers: video_version_id = 1
Migration from Nexus to Omega adds video version with id 0
Migration from Nexus to Peirs adds video version with id 1
Migration from Omega to Piers this does nothing and is handled by kodi itself
""" """
LOG.info("Starting migration for Omega database changes") LOG.info("Starting migration for Omega database changes")
# Tracks if this migration made any changes # Tracks if this migration made any changes
@ -158,7 +175,7 @@ class Movies(Kodi):
# Sets all existing movies without a version to standard version # Sets all existing movies without a version to standard version
for entry in self.cursor.fetchall(): for entry in self.cursor.fetchall():
self.add_videoversion(entry[0], entry[1], "movie", "0", 40400) self.add_videoversion(entry[0], entry[1], "movie", self.itemtype, 40400)
changes = True changes = True
LOG.info("Omega database migration is complete") LOG.info("Omega database migration is complete")

View file

@ -411,10 +411,20 @@ add_video_version = """
INSERT INTO videoversion(idFile, idMedia, media_type, itemType, idType) INSERT INTO videoversion(idFile, idMedia, media_type, itemType, idType)
VALUES (?, ?, ?, ?, ?) VALUES (?, ?, ?, ?, ?)
""" """
add_video_version_obj = [
"{FileId}",
"{MovieId}",
"movie",
"{VideoVersionItemType}",
40400,
]
get_videoversion_itemtype = """
SELECT itemType FROM videoversiontype WHERE id = ?
"""
get_videoversion_itemtype_obj = ["{VideoVersionId}"]
check_video_version = """ check_video_version = """
SELECT COUNT(name) FROM sqlite_master WHERE type='table' AND name='videoversion' SELECT COUNT(name) FROM sqlite_master WHERE type='table' AND name='videoversion'
""" """
add_video_version_obj = ["{FileId}", "{MovieId}", "movie", "0", 40400]
add_musicvideo = """ add_musicvideo = """
INSERT INTO musicvideo(idMVideo, idFile, c00, c04, c05, c06, c07, c08, c09, c10, INSERT INTO musicvideo(idMVideo, idFile, c00, c04, c05, c06, c07, c08, c09, c10,
c11, c12, premiered) c11, c12, premiered)

View file

@ -156,6 +156,7 @@ class Movies(KodiDb):
obj["PathId"] = self.add_path(*values(obj, QU.add_path_obj)) obj["PathId"] = self.add_path(*values(obj, QU.add_path_obj))
obj["FileId"] = self.add_file(*values(obj, QU.add_file_obj)) obj["FileId"] = self.add_file(*values(obj, QU.add_file_obj))
obj["VideoVersionItemType"] = self.itemtype
self.add(*values(obj, QU.add_movie_obj)) self.add(*values(obj, QU.add_movie_obj))
self.add_videoversion(*values(obj, QU.add_video_version_obj)) self.add_videoversion(*values(obj, QU.add_video_version_obj))