Reduce indent by using continue instead of if
This commit is contained in:
parent
6fe5e2b751
commit
49d863fa54
1 changed files with 41 additions and 41 deletions
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue