From 988d1696872ce16352f0369fe5ca8ee5093146e2 Mon Sep 17 00:00:00 2001 From: shortcutme Date: Tue, 3 Oct 2017 15:51:17 +0200 Subject: [PATCH] Fix asked_peers ignore for optional files --- src/Worker/WorkerManager.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Worker/WorkerManager.py b/src/Worker/WorkerManager.py index 81392197..e97037e6 100644 --- a/src/Worker/WorkerManager.py +++ b/src/Worker/WorkerManager.py @@ -299,16 +299,17 @@ class WorkerManager(object): # Try to query connected peers threads = [] - peers = [peer for peer in self.site.getConnectedPeers() if peer not in self.asked_peers] + peers = [peer for peer in self.site.getConnectedPeers() if peer.key not in self.asked_peers] if not peers: - peers = self.site.getConnectablePeers() + peers = self.site.getConnectablePeers(ignore=self.asked_peers) for peer in peers: threads.append(gevent.spawn(peer.findHashIds, list(optional_hash_ids))) - self.asked_peers.append(peer) + self.asked_peers.append(peer.key) for i in range(5): time.sleep(1) + thread_values = [thread.value for thread in threads if thread.value] if not thread_values: continue @@ -340,7 +341,7 @@ class WorkerManager(object): for peer in peers: threads.append(gevent.spawn(peer.findHashIds, list(optional_hash_ids))) - self.asked_peers.append(peer) + self.asked_peers.append(peer.key) gevent.joinall(threads, timeout=15)