diff options
Diffstat (limited to 'module')
| -rw-r--r-- | module/plugins/hooks/ExtractArchive.py | 12 | 
1 files changed, 8 insertions, 4 deletions
diff --git a/module/plugins/hooks/ExtractArchive.py b/module/plugins/hooks/ExtractArchive.py index 5b90b28fc..07a2ba228 100644 --- a/module/plugins/hooks/ExtractArchive.py +++ b/module/plugins/hooks/ExtractArchive.py @@ -187,6 +187,11 @@ class ExtractArchive(Hook):      @threaded      def extractQueued(self, thread): +        if self.extracting:  #@NOTE: doing the check here for safty (called by coreReady) +            return + +        self.extracting = True +          packages = self.queue.get()          while packages:              if self.lastPackage:  #: called from allDownloadsProcessed @@ -200,6 +205,8 @@ class ExtractArchive(Hook):              packages = self.queue.get()  #: check for packages added during extraction +        self.extracting = False +      @Expose      def extractPackage(self, *ids): @@ -222,7 +229,7 @@ class ExtractArchive(Hook):      def allDownloadsProcessed(self):          self.lastPackage = True -        if not self.extracting: +        if self.getConfig('waitall') and not self.extracting:              self.extractQueued() @@ -231,8 +238,6 @@ class ExtractArchive(Hook):          if not ids:              return False -        self.extracting = True -          processed = []          extracted = []          failed    = [] @@ -374,7 +379,6 @@ class ExtractArchive(Hook):              self.queue.remove(pid) -        self.extracting = False          return True if not failed else False  | 
