From 94b3a3e0a082d3177ab356bf64e324578e7bb374 Mon Sep 17 00:00:00 2001 From: Matt Date: Mon, 15 Mar 2021 23:32:37 -0400 Subject: [PATCH 1/2] Fix recently added albums in Kodi 19 --- jellyfin_kodi/objects/kodi/music.py | 4 +++- jellyfin_kodi/objects/kodi/queries_music.py | 5 +++++ jellyfin_kodi/objects/music.py | 10 +++++++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/jellyfin_kodi/objects/kodi/music.py b/jellyfin_kodi/objects/kodi/music.py index 01d324e6..8033f572 100644 --- a/jellyfin_kodi/objects/kodi/music.py +++ b/jellyfin_kodi/objects/kodi/music.py @@ -158,8 +158,10 @@ class Music(Kodi): album_id = album_id or self.create_entry_album() if self.version_id < 72: self.cursor.execute(QU.add_album, (album_id,) + args) - else: + elif self.version_id < 82: self.cursor.execute(QU.add_album72, (album_id,) + args) + else: + self.cursor.execute(QU.add_album82, (album_id,) + args) return album_id def update_album(self, *args): diff --git a/jellyfin_kodi/objects/kodi/queries_music.py b/jellyfin_kodi/objects/kodi/queries_music.py index bf56797e..118d837c 100644 --- a/jellyfin_kodi/objects/kodi/queries_music.py +++ b/jellyfin_kodi/objects/kodi/queries_music.py @@ -54,6 +54,7 @@ FROM album WHERE strMusicBrainzAlbumID = ? """ get_album_obj = ["{AlbumId}", "{Title}", "{UniqueId}", "{Artists}", "album"] +get_album_obj82 = ["{AlbumId}", "{Title}", "{UniqueId}", "{Artists}", "album", "{dateAdded}"] get_album_by_name = """ SELECT idAlbum, strArtists FROM album @@ -100,6 +101,10 @@ add_album72 = """ INSERT INTO album(idAlbum, strAlbum, strMusicBrainzAlbumID, strReleaseType, bScrapedMBID) VALUES (?, ?, ?, ?, 1) """ +add_album82 = """ +INSERT INTO album(idAlbum, strAlbum, strMusicBrainzAlbumID, strReleaseType, bScrapedMBID, dateAdded) +VALUES (?, ?, ?, ?, 1, ?) +""" add_single = """ INSERT INTO album(idAlbum, strGenres, iYear, strReleaseType) VALUES (?, ?, ?, ?) diff --git a/jellyfin_kodi/objects/music.py b/jellyfin_kodi/objects/music.py index 7cf9e15b..66ef8302 100644 --- a/jellyfin_kodi/objects/music.py +++ b/jellyfin_kodi/objects/music.py @@ -153,6 +153,10 @@ class Music(KodiDb): obj['Artists'] = " / ".join(obj['Artists'] or []) obj['Artwork'] = API.get_all_artwork(self.objects.map(item, 'ArtworkMusic'), True) obj['Thumb'] = obj['Artwork']['Primary'] + obj['dateAdded'] = item.get('DateCreated') + + if obj['DateAdded']: + obj['DateAdded'] = Local(obj['DateAdded']).split('.')[0].replace('T', " ") if obj['Thumb']: obj['Thumb'] = "%s" % obj['Thumb'] @@ -173,7 +177,11 @@ class Music(KodiDb): ''' Add object to kodi. ''' - obj['AlbumId'] = self.get_album(*values(obj, QU.get_album_obj)) + if self.version_id >= 82: + obj_values = values(obj, QU.get_album_obj82) + else: + obj_values = values(obj, QU.get_album_obj) + obj['AlbumId'] = self.get_album(*obj_values) self.jellyfin_db.add_reference(*values(obj, QUEM.add_reference_album_obj)) LOG.debug("ADD album [%s] %s: %s", obj['AlbumId'], obj['Title'], obj['Id']) From 33dfd0ee8248b72e5a932bf0f9be027b84c686db Mon Sep 17 00:00:00 2001 From: Matt Date: Mon, 15 Mar 2021 23:42:11 -0400 Subject: [PATCH 2/2] Fix capitalization of variable --- jellyfin_kodi/objects/kodi/queries_music.py | 4 ++-- jellyfin_kodi/objects/music.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/jellyfin_kodi/objects/kodi/queries_music.py b/jellyfin_kodi/objects/kodi/queries_music.py index 118d837c..88131dc3 100644 --- a/jellyfin_kodi/objects/kodi/queries_music.py +++ b/jellyfin_kodi/objects/kodi/queries_music.py @@ -54,7 +54,7 @@ FROM album WHERE strMusicBrainzAlbumID = ? """ get_album_obj = ["{AlbumId}", "{Title}", "{UniqueId}", "{Artists}", "album"] -get_album_obj82 = ["{AlbumId}", "{Title}", "{UniqueId}", "{Artists}", "album", "{dateAdded}"] +get_album_obj82 = ["{AlbumId}", "{Title}", "{UniqueId}", "{Artists}", "album", "{DateAdded}"] get_album_by_name = """ SELECT idAlbum, strArtists FROM album @@ -102,7 +102,7 @@ INSERT INTO album(idAlbum, strAlbum, strMusicBrainzAlbumID, strReleaseType, VALUES (?, ?, ?, ?, 1) """ add_album82 = """ -INSERT INTO album(idAlbum, strAlbum, strMusicBrainzAlbumID, strReleaseType, bScrapedMBID, dateAdded) +INSERT INTO album(idAlbum, strAlbum, strMusicBrainzAlbumID, strReleaseType, bScrapedMBID, DateAdded) VALUES (?, ?, ?, ?, 1, ?) """ add_single = """ diff --git a/jellyfin_kodi/objects/music.py b/jellyfin_kodi/objects/music.py index 66ef8302..b5a35b18 100644 --- a/jellyfin_kodi/objects/music.py +++ b/jellyfin_kodi/objects/music.py @@ -153,7 +153,7 @@ class Music(KodiDb): obj['Artists'] = " / ".join(obj['Artists'] or []) obj['Artwork'] = API.get_all_artwork(self.objects.map(item, 'ArtworkMusic'), True) obj['Thumb'] = obj['Artwork']['Primary'] - obj['dateAdded'] = item.get('DateCreated') + obj['DateAdded'] = item.get('DateCreated') if obj['DateAdded']: obj['DateAdded'] = Local(obj['DateAdded']).split('.')[0].replace('T', " ")