Move peer adding to separate function

This commit is contained in:
shortcutme 2017-10-03 15:55:42 +02:00
parent 6238bb7f2d
commit 7c69118c2c
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE

View file

@ -156,6 +156,16 @@ class WorkerManager(object):
else: # We have woker for this peer or its over the limit else: # We have woker for this peer or its over the limit
return False return False
def taskAddPeer(self, task, peer):
if task["peers"] is None:
task["peers"] = []
if peer in task["failed"]:
return False
if peer not in task["peers"]:
task["peers"].append(peer)
return True
# Start workers to process tasks # Start workers to process tasks
def startWorkers(self, peers=None): def startWorkers(self, peers=None):
if not self.tasks: if not self.tasks:
@ -196,11 +206,8 @@ class WorkerManager(object):
task["failed"] = [] task["failed"] = []
if peer in task["failed"]: if peer in task["failed"]:
continue continue
found[optional_hash_id].append(peer) if self.taskAddPeer(task, peer):
if task["peers"] and peer not in task["peers"]: found[optional_hash_id].append(peer)
task["peers"].append(peer)
else:
task["peers"] = [peer]
return found return found
@ -234,10 +241,7 @@ class WorkerManager(object):
peer = self.site.addPeer(peer_ip[0], peer_ip[1], return_peer=True) peer = self.site.addPeer(peer_ip[0], peer_ip[1], return_peer=True)
if not peer: if not peer:
continue continue
if task["peers"] is None: if self.taskAddPeer(task, peer):
task["peers"] = []
if peer not in task["peers"]:
task["peers"].append(peer)
found[hash_id].append(peer) found[hash_id].append(peer)
if peer.hashfield.appendHashId(hash_id): # Peer has this file if peer.hashfield.appendHashId(hash_id): # Peer has this file
peer.time_hashfield = None # Peer hashfield probably outdated peer.time_hashfield = None # Peer hashfield probably outdated