mirror of
https://github.com/Hopiu/linkchecker.git
synced 2026-04-29 18:44:43 +00:00
don't delete from incoming queue while iterating, but after. SF #1223920
git-svn-id: https://linkchecker.svn.sourceforge.net/svnroot/linkchecker/trunk/linkchecker@2671 e7d03fd6-7b0d-0410-9947-9c21f3af8025
This commit is contained in:
parent
0dddb08557
commit
990d548424
1 changed files with 11 additions and 5 deletions
|
|
@ -88,18 +88,24 @@ class Cache (object):
|
|||
return it. If no such url is available return None. The
|
||||
url might be already cached.
|
||||
"""
|
||||
res = None
|
||||
to_delete = None
|
||||
for i, url_data in enumerate(self.incoming):
|
||||
key = url_data.cache_url_key
|
||||
if key in self.checked:
|
||||
del self.incoming[i]
|
||||
to_delete = i
|
||||
# url is cached and can be logged
|
||||
url_data.copy_from_cache(self.checked[key])
|
||||
return url_data
|
||||
res = url_data
|
||||
break
|
||||
elif key not in self.in_progress:
|
||||
del self.incoming[i]
|
||||
to_delete = i
|
||||
self.in_progress[key] = url_data
|
||||
return url_data
|
||||
return None
|
||||
res = url_data
|
||||
break
|
||||
if to_delete is not None:
|
||||
del self.incoming[i]
|
||||
return res
|
||||
|
||||
def incoming_len (self):
|
||||
"""
|
||||
|
|
|
|||
Loading…
Reference in a new issue