Update video library fix

This is to stop music-only update from updating the video library for no
reason.
This commit is contained in:
angelblue05 2016-02-09 22:50:31 -06:00
parent 994a48df7e
commit 15e0f92092
3 changed files with 22 additions and 9 deletions

View file

@ -73,6 +73,7 @@ class Items(object):
'Audio': Music 'Audio': Music
} }
update_videolibrary = False
total = 0 total = 0
for item in items: for item in items:
total += len(items[item]) total += len(items[item])
@ -108,6 +109,7 @@ class Items(object):
# Music is not enabled, do not proceed with itemtype # Music is not enabled, do not proceed with itemtype
continue continue
else: else:
update_videolibrary = True
items_process = itemtypes[itemtype](embycursor, kodicursor) items_process = itemtypes[itemtype](embycursor, kodicursor)
if itemtype == "Movie": if itemtype == "Movie":
@ -202,10 +204,11 @@ class Items(object):
if musicconn is not None: if musicconn is not None:
# close connection for special types # close connection for special types
self.logMsg("Updating music database.", 1)
musicconn.commit() musicconn.commit()
musiccursor.close() musiccursor.close()
return True return (True, update_videolibrary)
def contentPop(self, name, time=5000): def contentPop(self, name, time=5000):
xbmcgui.Dialog().notification( xbmcgui.Dialog().notification(

View file

@ -728,12 +728,14 @@ class LibrarySync(threading.Thread):
emby = self.emby emby = self.emby
emby_db = embydb.Embydb_Functions(embycursor) emby_db = embydb.Embydb_Functions(embycursor)
pDialog = None pDialog = None
update_embydb = False
if self.refresh_views: if self.refresh_views:
# Received userconfig update # Received userconfig update
self.refresh_views = False self.refresh_views = False
self.maintainViews(embycursor, kodicursor) self.maintainViews(embycursor, kodicursor)
self.forceLibraryUpdate = True self.forceLibraryUpdate = True
update_embydb = True
if self.addedItems or self.updateItems or self.userdataItems or self.removeItems: if self.addedItems or self.updateItems or self.userdataItems or self.removeItems:
# Only present dialog if we are going to process items # Only present dialog if we are going to process items
@ -771,23 +773,31 @@ class LibrarySync(threading.Thread):
sorted_items = emby.sortby_mediatype(items['Unsorted']) sorted_items = emby.sortby_mediatype(items['Unsorted'])
doupdate = items_process.itemsbyId(sorted_items, "added", pDialog) doupdate = items_process.itemsbyId(sorted_items, "added", pDialog)
if doupdate: if doupdate:
update = True embyupdate, kodiupdate_video = doupdate
if embyupdate:
update_embydb = True
if kodiupdate_video:
self.forceLibraryUpdate = True
del items['Unsorted'] del items['Unsorted']
doupdate = items_process.itemsbyId(items, type, pDialog) doupdate = items_process.itemsbyId(items, type, pDialog)
if doupdate: if doupdate:
update = True embyupdate, kodiupdate_video = doupdate
if embyupdate:
if update: update_embydb = True
self.forceLibraryUpdate = True if kodiupdate_video:
self.forceLibraryUpdate = True
if update_embydb:
update_embydb = False
self.logMsg("Updating emby database.", 1)
embyconn.commit()
self.saveLastSync()
if self.forceLibraryUpdate: if self.forceLibraryUpdate:
# Force update the Kodi library # Force update the Kodi library
self.forceLibraryUpdate = False self.forceLibraryUpdate = False
self.dbCommit(kodiconn) self.dbCommit(kodiconn)
embyconn.commit()
self.saveLastSync()
self.logMsg("Updating video library.", 1) self.logMsg("Updating video library.", 1)
utils.window('emby_kodiScan', value="true") utils.window('emby_kodiScan', value="true")

View file

@ -253,7 +253,7 @@ class Read_EmbyServer():
self.logMsg("Throttle activated.", 1) self.logMsg("Throttle activated.", 1)
if jump == highestjump: if jump == highestjump:
# We already adjusted to highestjump, but it failed. Reset value # We already tried with the highestjump, but it failed. Reset value.
self.logMsg("Reset highest value.", 1) self.logMsg("Reset highest value.", 1)
highestjump = 0 highestjump = 0