From af1ac9bce8542601f29586127aa9491b14581224 Mon Sep 17 00:00:00 2001 From: shortcutme Date: Tue, 17 Dec 2019 14:30:14 +0100 Subject: [PATCH] Try to find already running task for file before start a new one --- src/Site/Site.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Site/Site.py b/src/Site/Site.py index 923fd8c7..8078ba40 100644 --- a/src/Site/Site.py +++ b/src/Site/Site.py @@ -760,7 +760,13 @@ class Site(object): # Check and download if file not exist def needFile(self, inner_path, update=False, blocking=True, peer=None, priority=0): - if self.storage.isFile(inner_path) and not update: # File exist, no need to do anything + if self.worker_manager.tasks.findTask(inner_path): + task = self.worker_manager.addTask(inner_path, peer, priority=priority) + if blocking: + return task["evt"].get() + else: + return task["evt"] + elif self.storage.isFile(inner_path) and not update: # File exist, no need to do anything return True elif not self.isServing(): # Site not serving return False