mirror of
https://github.com/jellyfin/jellyfin-kodi.git
synced 2024-11-10 04:06:11 +00:00
Dont modify a list as you are traversing it. The result is
implementation dependant although with CPython elements are unintentionally skipped during iteration. Basic CPython example: >>> A = [1,2,3,4,5,6] >>> for a in A: ... A.remove(a) >>> A [2, 4, 6]
This commit is contained in:
parent
94456ddcd8
commit
85d4e660ef
2 changed files with 5 additions and 8 deletions
|
@ -131,11 +131,10 @@ class Library(threading.Thread):
|
|||
Start new "daemon threads" to process library updates.
|
||||
(actual daemon thread is not supported in Kodi)
|
||||
'''
|
||||
for threads in (self.download_threads, self.writer_threads['updated'],
|
||||
self.writer_threads['userdata'], self.writer_threads['removed']):
|
||||
for thread in threads:
|
||||
if thread.is_done:
|
||||
threads.remove(thread)
|
||||
self.download_threads = [thread for thread in self.download_threads if not thread.is_done]
|
||||
self.writer_threads['updated'] = [thread for thread in self.writer_threads['updated'] if not thread.is_done]
|
||||
self.writer_threads['userdata'] = [thread for thread in self.writer_threads['userdata'] if not thread.is_done]
|
||||
self.writer_threads['removed'] = [thread for thread in self.writer_threads['removed'] if not thread.is_done]
|
||||
|
||||
if not self.player.isPlayingVideo() or settings('syncDuringPlay.bool') or xbmc.getCondVisibility('VideoPlayer.Content(livetv)'):
|
||||
|
||||
|
|
|
@ -147,9 +147,7 @@ class Artwork(object):
|
|||
|
||||
def add_worker(self):
|
||||
|
||||
for thread in self.threads:
|
||||
if thread.is_done:
|
||||
self.threads.remove(thread)
|
||||
self.threads = [thread for thread in self.threads if not thread.is_done]
|
||||
|
||||
if self.queue.qsize() and len(self.threads) < 2:
|
||||
|
||||
|
|
Loading…
Reference in a new issue