From 7c69118c2c678b56a78e2f0170cdb29c66134455 Mon Sep 17 00:00:00 2001 From: shortcutme Date: Tue, 3 Oct 2017 15:55:42 +0200 Subject: [PATCH] Move peer adding to separate function --- src/Worker/WorkerManager.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/Worker/WorkerManager.py b/src/Worker/WorkerManager.py index 3fadcf4f..ef3e648e 100644 --- a/src/Worker/WorkerManager.py +++ b/src/Worker/WorkerManager.py @@ -156,6 +156,16 @@ class WorkerManager(object): else: # We have woker for this peer or its over the limit 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 def startWorkers(self, peers=None): if not self.tasks: @@ -196,11 +206,8 @@ class WorkerManager(object): task["failed"] = [] if peer in task["failed"]: continue - found[optional_hash_id].append(peer) - if task["peers"] and peer not in task["peers"]: - task["peers"].append(peer) - else: - task["peers"] = [peer] + if self.taskAddPeer(task, peer): + found[optional_hash_id].append(peer) return found @@ -234,10 +241,7 @@ class WorkerManager(object): peer = self.site.addPeer(peer_ip[0], peer_ip[1], return_peer=True) if not peer: continue - if task["peers"] is None: - task["peers"] = [] - if peer not in task["peers"]: - task["peers"].append(peer) + if self.taskAddPeer(task, peer): found[hash_id].append(peer) if peer.hashfield.appendHashId(hash_id): # Peer has this file peer.time_hashfield = None # Peer hashfield probably outdated