summaryrefslogtreecommitdiffstats
path: root/module/plugins/internal
diff options
context:
space:
mode:
authorGravatar Olivier <olivier-dev@gmx.com> 2016-06-08 08:26:04 +0200
committerGravatar Olivier <olivier-dev@gmx.com> 2016-06-08 08:26:04 +0200
commit411d8031c3ce4547b9f165761f74f0067bea7e7b (patch)
tree2216cb784cfcf48f298da062bf6427bfa8e76eab /module/plugins/internal
parent[FilerNet] Fix #2489 (diff)
downloadpyload-411d8031c3ce4547b9f165761f74f0067bea7e7b.tar.xz
[ExtractArchive] Fix
Diffstat (limited to 'module/plugins/internal')
-rw-r--r--module/plugins/internal/Extractor.py13
-rw-r--r--module/plugins/internal/UnRar.py5
-rw-r--r--module/plugins/internal/UnTar.py5
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