Merge pull request #742 from GregoireDruant/fix/music-video-db-update

Fix music video db update
This commit is contained in:
Odd Stråbø 2023-08-19 01:48:44 +02:00 committed by GitHub
commit dd4b9961ee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 4 deletions

View file

@ -147,8 +147,8 @@ class Kodi(object):
bulk_updates.setdefault(sql, []).append((person_id,) + args) bulk_updates.setdefault(sql, []).append((person_id,) + args)
elif person['Type'] == 'Artist': elif person['Type'] == 'Artist':
sql = QU.update_link.replace("{LinkType}", 'actor_link') sql = QU.insert_link_if_not_exists.replace("{LinkType}", 'actor_link')
bulk_updates.setdefault(sql, []).append((person_id,) + args) bulk_updates.setdefault(sql, []).append((person_id,) + args + (person_id,) + args)
add_thumbnail(person_id, person, person['Type']) add_thumbnail(person_id, person, person['Type'])

View file

@ -395,6 +395,13 @@ update_link = """
INSERT OR REPLACE INTO {LinkType}(actor_id, media_id, media_type) INSERT OR REPLACE INTO {LinkType}(actor_id, media_id, media_type)
VALUES (?, ?, ?) VALUES (?, ?, ?)
""" """
# update_link does not work for actor_link as not all values from unique index are provided
# Resulting in duplicates
insert_link_if_not_exists = """
INSERT INTO {LinkType}(actor_id, media_id, media_type)
SELECT ?, ?, ?
WHERE NOT EXISTS(SELECT 1 FROM {LinkType} WHERE actor_id = ? AND media_id = ? AND media_type = ?)
"""
update_movie = """ update_movie = """
UPDATE movie UPDATE movie
SET c00 = ?, c01 = ?, c02 = ?, c03 = ?, c04 = ?, c05 = ?, c06 = ?, SET c00 = ?, c01 = ?, c02 = ?, c03 = ?, c04 = ?, c05 = ?, c06 = ?,

View file

@ -86,8 +86,6 @@ class MusicVideos(KodiDb):
obj['Year'] = int(str(obj['Year'])[:4]) obj['Year'] = int(str(obj['Year'])[:4])
obj['Path'] = API.get_file_path(obj['Path']) obj['Path'] = API.get_file_path(obj['Path'])
obj['LibraryId'] = self.library['Id']
obj['LibraryName'] = self.library['Name']
obj['Genres'] = obj['Genres'] or [] obj['Genres'] = obj['Genres'] or []
obj['ArtistItems'] = obj['ArtistItems'] or [] obj['ArtistItems'] = obj['ArtistItems'] or []
obj['Studios'] = [API.validate_studio(studio) for studio in (obj['Studios'] or [])] obj['Studios'] = [API.validate_studio(studio) for studio in (obj['Studios'] or [])]