remove all movies from box set before updating to cacth movies that have been removed
only sync box sets that have changed for inc sync
This commit is contained in:
parent
63bba9d450
commit
fc0442e0ed
2 changed files with 46 additions and 28 deletions
|
@ -200,7 +200,7 @@ class LibrarySync(threading.Thread):
|
||||||
self.logMsg("Sync Database, Incremental Sync Setting Last Run Time Saved: %s" % lastSync, 1)
|
self.logMsg("Sync Database, Incremental Sync Setting Last Run Time Saved: %s" % lastSync, 1)
|
||||||
utils.settings("LastIncrenetalSync", lastSync)
|
utils.settings("LastIncrenetalSync", lastSync)
|
||||||
|
|
||||||
def MoviesFullSync(self,connection,cursor, pDialog):
|
def MoviesFullSync(self,connection, cursor, pDialog):
|
||||||
|
|
||||||
views = ReadEmbyDB().getCollections("movies")
|
views = ReadEmbyDB().getCollections("movies")
|
||||||
|
|
||||||
|
@ -249,26 +249,28 @@ class LibrarySync(threading.Thread):
|
||||||
#### PROCESS BOX SETS #####
|
#### PROCESS BOX SETS #####
|
||||||
if(pDialog != None):
|
if(pDialog != None):
|
||||||
utils.logMsg("Sync Movies", "BoxSet Sync Started", 1)
|
utils.logMsg("Sync Movies", "BoxSet Sync Started", 1)
|
||||||
boxsets = ReadEmbyDB().getBoxSets()
|
|
||||||
|
boxsets = ReadEmbyDB().getBoxSets()
|
||||||
|
|
||||||
total = len(boxsets) + 1
|
total = len(boxsets) + 1
|
||||||
count = 1
|
count = 1
|
||||||
for boxset in boxsets:
|
for boxset in boxsets:
|
||||||
progressTitle = "Processing BoxSets"+ " (" + str(count) + " of " + str(total) + ")"
|
progressTitle = "Processing BoxSets"+ " (" + str(count) + " of " + str(total) + ")"
|
||||||
percentage = int(((float(count) / float(total)) * 100))
|
percentage = int(((float(count) / float(total)) * 100))
|
||||||
pDialog.update(percentage, "Emby for Kodi - Running Sync", progressTitle)
|
pDialog.update(percentage, "Emby for Kodi - Running Sync", progressTitle)
|
||||||
count += 1
|
count += 1
|
||||||
|
if(self.ShouldStop()):
|
||||||
|
return False
|
||||||
|
boxsetMovies = ReadEmbyDB().getMoviesInBoxSet(boxset["Id"])
|
||||||
|
WriteKodiVideoDB().addBoxsetToKodiLibrary(boxset, connection, cursor)
|
||||||
|
|
||||||
|
WriteKodiVideoDB().removeMoviesFromBoxset(boxset, connection, cursor)
|
||||||
|
for boxsetMovie in boxsetMovies:
|
||||||
if(self.ShouldStop()):
|
if(self.ShouldStop()):
|
||||||
return False
|
return False
|
||||||
boxsetMovies = ReadEmbyDB().getMoviesInBoxSet(boxset["Id"])
|
WriteKodiVideoDB().updateBoxsetToKodiLibrary(boxsetMovie,boxset, connection, cursor)
|
||||||
WriteKodiVideoDB().addBoxsetToKodiLibrary(boxset,connection, cursor)
|
|
||||||
|
|
||||||
for boxsetMovie in boxsetMovies:
|
utils.logMsg("Sync Movies", "BoxSet Sync Finished", 1)
|
||||||
if(self.ShouldStop()):
|
|
||||||
return False
|
|
||||||
WriteKodiVideoDB().updateBoxsetToKodiLibrary(boxsetMovie,boxset, connection, cursor)
|
|
||||||
|
|
||||||
utils.logMsg("Sync Movies", "BoxSet Sync Finished", 1)
|
|
||||||
|
|
||||||
#### PROCESS DELETES #####
|
#### PROCESS DELETES #####
|
||||||
allEmbyMovieIds = set(allEmbyMovieIds)
|
allEmbyMovieIds = set(allEmbyMovieIds)
|
||||||
|
@ -628,16 +630,21 @@ class LibrarySync(threading.Thread):
|
||||||
count = 1
|
count = 1
|
||||||
total = len(boxsets) + 1
|
total = len(boxsets) + 1
|
||||||
for boxset in boxsets:
|
for boxset in boxsets:
|
||||||
boxsetMovies = ReadEmbyDB().getMoviesInBoxSet(boxset["Id"])
|
if(boxset["Id"] in itemList):
|
||||||
WriteKodiVideoDB().addBoxsetToKodiLibrary(boxset,connection, cursor)
|
utils.logMsg("IncrementalSync", "Updating box Set : " + str(boxset["Name"]), 1)
|
||||||
if(pDialog != None):
|
boxsetMovies = ReadEmbyDB().getMoviesInBoxSet(boxset["Id"])
|
||||||
progressTitle = "Incremental Sync "+ " (" + str(count) + " of " + str(total) + ")"
|
WriteKodiVideoDB().addBoxsetToKodiLibrary(boxset, connection, cursor)
|
||||||
percentage = int(((float(count) / float(total)) * 100))
|
if(pDialog != None):
|
||||||
pDialog.update(percentage, "Emby for Kodi - Incremental Sync BoxSet", progressTitle)
|
progressTitle = "Incremental Sync "+ " (" + str(count) + " of " + str(total) + ")"
|
||||||
count = count + 1
|
percentage = int(((float(count) / float(total)) * 100))
|
||||||
for boxsetMovie in boxsetMovies:
|
pDialog.update(percentage, "Emby for Kodi - Incremental Sync BoxSet", progressTitle)
|
||||||
WriteKodiVideoDB().updateBoxsetToKodiLibrary(boxsetMovie,boxset, connection, cursor)
|
count = count + 1
|
||||||
|
WriteKodiVideoDB().removeMoviesFromBoxset(boxset, connection, cursor)
|
||||||
|
for boxsetMovie in boxsetMovies:
|
||||||
|
WriteKodiVideoDB().updateBoxsetToKodiLibrary(boxsetMovie, boxset, connection, cursor)
|
||||||
|
else:
|
||||||
|
utils.logMsg("IncrementalSync", "Skipping Box Set : " + boxset["Name"], 1)
|
||||||
|
|
||||||
#### PROCESS TV SHOWS ####
|
#### PROCESS TV SHOWS ####
|
||||||
views = ReadEmbyDB().getCollections("tvshows")
|
views = ReadEmbyDB().getCollections("tvshows")
|
||||||
for view in views:
|
for view in views:
|
||||||
|
|
|
@ -1233,6 +1233,17 @@ class WriteKodiVideoDB():
|
||||||
query = "UPDATE emby SET checksum = ? WHERE emby_id = ?"
|
query = "UPDATE emby SET checksum = ? WHERE emby_id = ?"
|
||||||
cursor.execute(query, (API().getChecksum(boxsetmovie), boxsetmovieid))
|
cursor.execute(query, (API().getChecksum(boxsetmovie), boxsetmovieid))
|
||||||
|
|
||||||
|
def removeMoviesFromBoxset(self, boxset, connection, cursor):
|
||||||
|
|
||||||
|
strSet = boxset['Name']
|
||||||
|
try:
|
||||||
|
cursor.execute("SELECT idSet FROM sets WHERE strSet = ? COLLATE NOCASE", (strSet,))
|
||||||
|
setid = cursor.fetchone()[0]
|
||||||
|
except: pass
|
||||||
|
else:
|
||||||
|
query = "UPDATE movie SET idSet = null WHERE idSet = ?"
|
||||||
|
cursor.execute(query, (setid,))
|
||||||
|
|
||||||
def updateUserdata(self, userdata, connection, cursor):
|
def updateUserdata(self, userdata, connection, cursor):
|
||||||
# This updates: Favorite, LastPlayedDate, Playcount, PlaybackPositionTicks
|
# This updates: Favorite, LastPlayedDate, Playcount, PlaybackPositionTicks
|
||||||
embyId = userdata['ItemId']
|
embyId = userdata['ItemId']
|
||||||
|
|
Loading…
Reference in a new issue