diff options
| -rw-r--r-- | module/PluginThread.py | 3 | ||||
| -rw-r--r-- | module/network/HTTPDownload.py | 2 | ||||
| -rw-r--r-- | module/plugins/hooks/ExtractArchive.py | 15 | 
3 files changed, 11 insertions, 9 deletions
| diff --git a/module/PluginThread.py b/module/PluginThread.py index 37176574e..03db68100 100644 --- a/module/PluginThread.py +++ b/module/PluginThread.py @@ -460,8 +460,7 @@ class HookThread(PluginThread):              except TypeError, e:                  #dirty method to filter out exceptions                  if "unexpected keyword argument 'thread'" not in e.message: -                    print_exc() -                    raise e +                    raise                  del self.kwargs["thread"]                  self.f(*self.args, **self.kwargs) diff --git a/module/network/HTTPDownload.py b/module/network/HTTPDownload.py index f616b16b5..3edf56d98 100644 --- a/module/network/HTTPDownload.py +++ b/module/network/HTTPDownload.py @@ -211,7 +211,7 @@ class HTTPDownload():                      curl, errno, msg = c                      #test if chunk was finished, otherwise raise the exception                      if errno != 23 or "0 !=" not in msg: -                        raise pycurl.error(errno, msg) +                        raise                      #@TODO KeyBoardInterrupts are seen as finished chunks,                      #but normally not handled to this process, only in the testcase diff --git a/module/plugins/hooks/ExtractArchive.py b/module/plugins/hooks/ExtractArchive.py index dffbc5d5d..d48496c14 100644 --- a/module/plugins/hooks/ExtractArchive.py +++ b/module/plugins/hooks/ExtractArchive.py @@ -14,10 +14,9 @@ from copy import copy  # http://bugs.python.org/issue1236  # http://bugs.python.org/issue1731717  if sys.version_info < (2, 7) and os.name != "nt": -      from subprocess import Popen -      import errno +      def _eintr_retry_call(func, *args):          while True:              try: @@ -36,7 +35,7 @@ if sys.version_info < (2, 7) and os.name != "nt":              except OSError, e:                  if e.errno != errno.ECHILD:                      raise -                # This happens if SIGCLD is set to be ignored or waiting +                    # This happens if SIGCLD is set to be ignored or waiting                  # for child processes has otherwise been disabled for our                  # process.  This child is dead, we can't get the status.                  sts = 0 @@ -45,8 +44,6 @@ if sys.version_info < (2, 7) and os.name != "nt":      Popen.wait = wait - -  if os.name != "nt":      from os import chown      from pwd import getpwnam @@ -204,7 +201,13 @@ class ExtractArchive(Hook):              else:                  self.logInfo(basename(plugin.file), _("Password protected"))                  self.logDebug("Passwords: %s" % str(passwords)) -                for pw in passwords + self.getPasswords(): +                 +                pwlist = copy(self.getPasswords()) +                #remove already supplied pws from list (only local) +                for pw in passwords: +                    if pw in pwlist: pwlist.remove(pw) +                 +                for pw in passwords + pwlist:                      try:                          self.logDebug("Try password: %s" % pw)                          if plugin.checkPassword(pw): | 
