Fix and optimize startup of playlist sync

This commit is contained in:
Croneter 2018-07-05 16:38:06 +02:00
parent f9571f009b
commit 080e9184cc
2 changed files with 11 additions and 6 deletions

View file

@ -262,9 +262,10 @@ class LibrarySync(Thread):
# This will NOT update playstates and userratings! # This will NOT update playstates and userratings!
LOG.info('Running fullsync for CHANGED PMS items with repair=%s', LOG.info('Running fullsync for CHANGED PMS items with repair=%s',
repair) repair)
if self._full_sync() is False: if not self._full_sync():
return False
if not playlists.full_sync():
return False return False
playlists.full_sync()
return True return True
def _full_sync(self): def _full_sync(self):
@ -1561,10 +1562,9 @@ class LibrarySync(Thread):
initial_sync_done = True initial_sync_done = True
kodi_db_version_checked = True kodi_db_version_checked = True
last_sync = utils.unix_timestamp() last_sync = utils.unix_timestamp()
playlist_monitor = playlists.kodi_playlist_monitor()
self.sync_fanart() self.sync_fanart()
self.fanartthread.start() self.fanartthread.start()
if state.SYNC_PLAYLISTS and playlists.full_sync():
playlist_monitor = playlists.kodi_playlist_monitor()
else: else:
LOG.error('Initial start-up full sync unsuccessful') LOG.error('Initial start-up full sync unsuccessful')
xbmc.executebuiltin('InhibitIdleShutdown(false)') xbmc.executebuiltin('InhibitIdleShutdown(false)')
@ -1614,11 +1614,10 @@ class LibrarySync(Thread):
initial_sync_done = True initial_sync_done = True
last_sync = utils.unix_timestamp() last_sync = utils.unix_timestamp()
LOG.info('Done initial sync on Kodi startup') LOG.info('Done initial sync on Kodi startup')
playlist_monitor = playlists.kodi_playlist_monitor()
artwork.Artwork().cache_major_artwork() artwork.Artwork().cache_major_artwork()
self.sync_fanart() self.sync_fanart()
self.fanartthread.start() self.fanartthread.start()
if state.SYNC_PLAYLISTS and playlists.full_sync():
playlist_monitor = playlists.kodi_playlist_monitor()
else: else:
LOG.info('Startup sync has not yet been successful') LOG.info('Startup sync has not yet been successful')
utils.window('plex_dbScan', clear=True) utils.window('plex_dbScan', clear=True)

View file

@ -329,6 +329,9 @@ def full_sync():
Full sync of playlists between Kodi and Plex. Returns True is successful, Full sync of playlists between Kodi and Plex. Returns True is successful,
False otherwise False otherwise
""" """
if not state.SYNC_PLAYLISTS:
LOG.debug('Not syncing playlists')
return True
LOG.info('Starting playlist full sync') LOG.info('Starting playlist full sync')
with state.LOCK_PLAYLISTS: with state.LOCK_PLAYLISTS:
return _full_sync() return _full_sync()
@ -467,6 +470,9 @@ class PlaylistEventhandler(events.FileSystemEventHandler):
:type event: :type event:
:class:`FileSystemEvent` :class:`FileSystemEvent`
""" """
if not state.SYNC_PLAYLISTS:
# Sync is deactivated
return
if event.is_directory: if event.is_directory:
# todo: take care of folder renames # todo: take care of folder renames
return return