Fix newly added album/songs

Since we process a dictionary, we can't really control the order it's
being processed in. Audio is being added before the album, so added an
album verification at song level.
This commit is contained in:
angelblue05 2016-01-29 20:40:23 -06:00
parent c37a9efdf3
commit 363b458514

View file

@ -18,7 +18,8 @@ import utils
import embydb_functions as embydb import embydb_functions as embydb
import kodidb_functions as kodidb import kodidb_functions as kodidb
import read_embyserver as embyserver import read_embyserver as embyserver
import musicutils as musicutils import musicutils
################################################################################################## ##################################################################################################
@ -2039,12 +2040,19 @@ class Music(Items):
# No album Id associated to the song. # No album Id associated to the song.
self.logMsg("Song itemid: %s has no albumId." % itemid, 1) self.logMsg("Song itemid: %s has no albumId." % itemid, 1)
return return
except TypeError:
# No album found. Let's create it
emby_albumId = item['AlbumId']
album = emby.getItem(emby_albumId)
emby_dbalbum = emby_db.getItem_byId(emby_albumId)
try:
albumid = emby_dbalbum[0]
except TypeError: except TypeError:
# No album found, create a single's album # No album found, create a single's album
kodicursor.execute("select coalesce(max(idAlbum),0) from album") kodicursor.execute("select coalesce(max(idAlbum),0) from album")
albumid = kodicursor.fetchone()[0] + 1 albumid = kodicursor.fetchone()[0] + 1
if kodiversion in (16, 17): if kodiversion == 16:
# Kodi Jarvis, Krypton # Kodi Jarvis
query = ( query = (
''' '''
INSERT INTO album(idAlbum, strGenres, iYear, strReleaseType) INSERT INTO album(idAlbum, strGenres, iYear, strReleaseType)