From 49d863fa54dabc419e40ffb6cded51a0c8dafe9d Mon Sep 17 00:00:00 2001 From: shortcutme Date: Tue, 3 Oct 2017 16:04:03 +0200 Subject: [PATCH] Reduce indent by using continue instead of if --- src/Worker/Worker.py | 82 ++++++++++++++++++++++---------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/src/Worker/Worker.py b/src/Worker/Worker.py index de107709..be04dca7 100644 --- a/src/Worker/Worker.py +++ b/src/Worker/Worker.py @@ -44,50 +44,50 @@ class Worker(object): self.manager.log.debug("%s: %s, picked task free after %ss sleep. (done: %s)" % (self.key, task["inner_path"], 0.1 * sleep_i, task["done"])) break - if task["done"] is False: - self.task = task - site = task["site"] - task["workers_num"] += 1 + if task["done"]: + continue + + self.task = task + site = task["site"] + task["workers_num"] += 1 + try: + buff = self.peer.getFile(site.address, task["inner_path"], task["size"]) + except Exception, err: + self.manager.log.debug("%s: getFile error: %s" % (self.key, err)) + buff = None + if self.running is False: # Worker no longer needed or got killed + self.manager.log.debug("%s: No longer needed, returning: %s" % (self.key, task["inner_path"])) + break + if task["done"] is True: # Task done, try to find new one + continue + if buff: # Download ok try: - buff = self.peer.getFile(site.address, task["inner_path"], task["size"]) + correct = site.content_manager.verifyFile(task["inner_path"], buff) except Exception, err: - self.manager.log.debug("%s: getFile error: %s" % (self.key, err)) - buff = None - if self.running is False: # Worker no longer needed or got killed - self.manager.log.debug("%s: No longer needed, returning: %s" % (self.key, task["inner_path"])) - break - if task["done"] is True: # Task done, try to find new one - continue - if buff: # Download ok - try: - correct = site.content_manager.verifyFile(task["inner_path"], buff) - except Exception, err: - correct = False - else: # Download error - err = "Download failed" correct = False - if correct is True or correct is None: # Verify ok or same file - self.manager.log.debug("%s: Verify correct: %s" % (self.key, task["inner_path"])) - if correct is True and task["done"] is False: # Save if changed and task not done yet - buff.seek(0) - site.storage.write(task["inner_path"], buff) - if task["done"] is False: - self.manager.doneTask(task) - task["workers_num"] -= 1 - self.task = None - else: # Verify failed - self.manager.log.debug( - "%s: Verify failed: %s, error: %s, failed peers: %s" % - (self.key, task["inner_path"], err, len(task["failed"])) - ) - task["failed"].append(self.peer) - self.task = None - self.peer.hash_failed += 1 - if self.peer.hash_failed >= max(len(self.manager.tasks), 3) or self.peer.connection_error > 10: - # Broken peer: More fails than tasks number but atleast 3 - break - task["workers_num"] -= 1 - time.sleep(1) + else: # Download error + err = "Download failed" + correct = False + if correct is True or correct is None: # Verify ok or same file + self.manager.log.debug("%s: Verify correct: %s" % (self.key, task["inner_path"])) + if correct is True and task["done"] is False: # Save if changed and task not done yet + buff.seek(0) + site.storage.write(task["inner_path"], buff) + if task["done"] is False: + self.manager.doneTask(task) + task["workers_num"] -= 1 + else: # Verify failed + task["workers_num"] -= 1 + self.manager.log.debug( + "%s: Verify failed: %s, error: %s, failed peers: %s, workers: %s" % + (self.key, task["inner_path"], err, len(task["failed"]), task["workers_num"]) + ) + task["failed"].append(self.peer) + self.peer.hash_failed += 1 + if self.peer.hash_failed >= max(len(self.manager.tasks), 3) or self.peer.connection_error > 10: + # Broken peer: More fails than tasks number but atleast 3 + break + time.sleep(1) self.peer.onWorkerDone() self.running = False self.manager.removeWorker(self)