summaryrefslogtreecommitdiffstats
path: root/module/plugins/internal/Extractor.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/internal/Extractor.py')
-rw-r--r--module/plugins/internal/Extractor.py30
1 files changed, 19 insertions, 11 deletions
diff --git a/module/plugins/internal/Extractor.py b/module/plugins/internal/Extractor.py
index 3ab5d6a0d..6629b0652 100644
--- a/module/plugins/internal/Extractor.py
+++ b/module/plugins/internal/Extractor.py
@@ -5,7 +5,19 @@ import re
from module.PyFile import PyFile
from module.plugins.internal.Plugin import Plugin
-from module.utils import fs_encode
+
+
+def renice(pid, value):
+ if not value or os.name is "nt":
+ return
+
+ try:
+ subprocess.Popen(["renice", str(value), str(pid)],
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE,
+ bufsize=-1)
+ except Exception:
+ pass
class ArchiveError(Exception):
@@ -23,7 +35,7 @@ class PasswordError(Exception):
class Extractor(Plugin):
__name__ = "Extractor"
__type__ = "extractor"
- __version__ = "0.35"
+ __version__ = "0.36"
__status__ = "testing"
__description__ = """Base extractor plugin"""
@@ -73,15 +85,14 @@ class Extractor(Plugin):
@property
def target(self):
- return fs_encode(self.filename)
+ return encode(self.filename)
def __init__(self, plugin, filename, out,
fullpath=True,
overwrite=False,
excludefiles=[],
- renice=0,
- delete='No',
+ renice=False,
keepbroken=False,
fid=None):
"""
@@ -95,8 +106,7 @@ class Extractor(Plugin):
self.fullpath = fullpath
self.overwrite = overwrite
self.excludefiles = excludefiles
- self.renice = renice
- self.delete = delete
+ self.priority = int(priority)
self.keepbroken = keepbroken
self.files = [] #: Store extracted files here
@@ -114,10 +124,8 @@ class Extractor(Plugin):
def _log(self, level, plugintype, pluginname, messages):
- return self.plugin._log(level,
- plugintype,
- self.plugin.__name__,
- (self.__name__,) + messages)
+ messages = (self.__name__,) + messages
+ return self.plugin._log(level, plugintype, self.plugin.__name__, messages)
def verify(self, password=None):