diff options
author | Olivier <olivier-dev@gmx.com> | 2016-06-08 08:26:04 +0200 |
---|---|---|
committer | Olivier <olivier-dev@gmx.com> | 2016-06-08 08:26:04 +0200 |
commit | 411d8031c3ce4547b9f165761f74f0067bea7e7b (patch) | |
tree | 2216cb784cfcf48f298da062bf6427bfa8e76eab /module/plugins/internal | |
parent | [FilerNet] Fix #2489 (diff) | |
download | pyload-411d8031c3ce4547b9f165761f74f0067bea7e7b.tar.xz |
[ExtractArchive] Fix
Diffstat (limited to 'module/plugins/internal')
-rw-r--r-- | module/plugins/internal/Extractor.py | 13 | ||||
-rw-r--r-- | module/plugins/internal/UnRar.py | 5 | ||||
-rw-r--r-- | module/plugins/internal/UnTar.py | 5 |
3 files changed, 15 insertions, 8 deletions
diff --git a/module/plugins/internal/Extractor.py b/module/plugins/internal/Extractor.py index 8a16cdd38..3c9af376a 100644 --- a/module/plugins/internal/Extractor.py +++ b/module/plugins/internal/Extractor.py @@ -104,7 +104,7 @@ class Extractor(Plugin): self.excludefiles = excludefiles self.priority = priority self.keepbroken = keepbroken - self.progress = lambda x: pyfile.setProgress(int(x)) + self.files = None self.init() @@ -119,11 +119,6 @@ class Extractor(Plugin): return encode(self.out) - def _log(self, level, plugintype, pluginname, messages): - messages = (self.__name__,) + messages - return self.pyfile.plugin._log(level, plugintype, self.pyfile.plugin.__name__, messages) - - def verify(self, password=None): """ Testing with Extractors built-in method @@ -156,3 +151,9 @@ class Extractor(Plugin): Return list of archive files """ raise NotImplementedError + + def progress(self, x): + """ + Set extraction progress + """ + return self.pyfile.setProgress(int(x)) diff --git a/module/plugins/internal/UnRar.py b/module/plugins/internal/UnRar.py index 3b1d7b290..b91f2455b 100644 --- a/module/plugins/internal/UnRar.py +++ b/module/plugins/internal/UnRar.py @@ -123,7 +123,7 @@ class UnRar(Extractor): break #: Reading a percentage sign -> set progress and restart if c == "%": - self.notifyprogress(int(s)) + self.pyfile.setProgress(int(s)) s = "" #: Not reading a digit -> therefore restart elif c not in string.digits: @@ -155,6 +155,9 @@ class UnRar(Extractor): if p.returncode: raise ArchiveError(_("Process return code: %d") % p.returncode) + self.files = self.list(password) + return self.files + def chunks(self): dir, name = os.path.split(self.filename) diff --git a/module/plugins/internal/UnTar.py b/module/plugins/internal/UnTar.py index f2a140ca7..7cc8516ae 100644 --- a/module/plugins/internal/UnTar.py +++ b/module/plugins/internal/UnTar.py @@ -25,7 +25,10 @@ class UnTar(Extractor): @classmethod def isarchive(cls, filename): - return tarfile.is_tarfile(encode(filename)) + try: + return tarfile.is_tarfile(encode(filename)) + except: + return False @classmethod |