Merge pull request #513 from mcarlton00/followup-sync

Fix subsequent syncs from the addon menu better
This commit is contained in:
Abby 2021-05-03 01:55:11 +01:00 committed by GitHub
commit 7c833767cd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 30 additions and 24 deletions

View file

@ -335,6 +335,9 @@ def get_sync():
sync['Whitelist'] = list(set(sync.get('Whitelist', []))) sync['Whitelist'] = list(set(sync.get('Whitelist', [])))
sync['SortedViews'] = sync.get('SortedViews', []) sync['SortedViews'] = sync.get('SortedViews', [])
# Temporary cleanup from #494/#511, remove in a future version
sync['Libraries'] = [lib_id for lib_id in sync['Libraries'] if ',' not in lib_id]
return sync return sync

View file

@ -68,7 +68,7 @@ class FullSync(object):
return self return self
def libraries(self, library_id=None, update=False): def libraries(self, libraries=None, update=False):
''' Map the syncing process and start the sync. Ensure only one sync is running. ''' Map the syncing process and start the sync. Ensure only one sync is running.
''' '''
@ -76,8 +76,10 @@ class FullSync(object):
self.update_library = update self.update_library = update
self.sync = get_sync() self.sync = get_sync()
if library_id: if libraries:
# Can be a single ID or a comma separated list
libraries = libraries.split(',')
for library_id in libraries:
# Look up library in local Jellyfin database # Look up library in local Jellyfin database
library = self.get_library(library_id) library = self.get_library(library_id)
@ -94,7 +96,8 @@ class FullSync(object):
# Include boxsets library # Include boxsets library
libraries = self.get_libraries() libraries = self.get_libraries()
boxsets = [row.view_id for row in libraries if row.media_type == 'boxsets'] boxsets = [row.view_id for row in libraries if row.media_type == 'boxsets']
if boxsets: # Verify we're only trying to sync boxsets once
if boxsets and boxsets[0] not in self.sync['Libraries']:
self.sync['Libraries'].append('Boxsets:%s' % boxsets[0]) self.sync['Libraries'].append('Boxsets:%s' % boxsets[0])
else: else:
# Only called if the library isn't already known about # Only called if the library isn't already known about

View file

@ -487,7 +487,7 @@ class Music(KodiDb):
if obj['Media'] == 'song': if obj['Media'] == 'song':
self.remove_song(obj['KodiId'], obj['Id']) self.remove_song(obj['KodiId'], obj['Id'])
self.jellyfin_db.remove_wild_item(obj['id']) self.jellyfin_db.remove_wild_item(obj['Id'])
for item in self.jellyfin_db.get_item_by_wild_id(*values(obj, QUEM.get_item_by_wild_obj)): for item in self.jellyfin_db.get_item_by_wild_id(*values(obj, QUEM.get_item_by_wild_obj)):
if item[1] == 'album': if item[1] == 'album':