diff options
Diffstat (limited to 'module/plugins/internal')
-rw-r--r-- | module/plugins/internal/Addon.py | 7 | ||||
-rw-r--r-- | module/plugins/internal/Base.py | 6 | ||||
-rw-r--r-- | module/plugins/internal/Plugin.py | 8 | ||||
-rw-r--r-- | module/plugins/internal/UnRar.py | 2 |
4 files changed, 13 insertions, 10 deletions
diff --git a/module/plugins/internal/Addon.py b/module/plugins/internal/Addon.py index cf3f01df1..ae61acf65 100644 --- a/module/plugins/internal/Addon.py +++ b/module/plugins/internal/Addon.py @@ -23,7 +23,7 @@ def threaded(fn): class Addon(Plugin): __name__ = "Addon" __type__ = "hook" #@TODO: Change to `addon` in 0.4.10 - __version__ = "0.07" + __version__ = "0.08" __status__ = "testing" __threaded__ = [] #@TODO: Remove in 0.4.10 @@ -46,6 +46,8 @@ class Addon(Plugin): #: List of events the plugin can handle, name the functions exactly like eventname. self.event_list = [] #@NOTE: dont make duplicate entries in event_map + self.info['ip'] = None #@TODO: Remove in 0.4.10 + #: Callback of periodical job task, used by HookManager self.cb = None self.interval = 60 @@ -210,7 +212,8 @@ class Addon(Plugin): #: Deprecated method, use `after_reconnect` instead (Remove in 0.4.10) def afterReconnecting(self, ip): - return self.after_reconnect(ip, None) + self.after_reconnect(ip, self.info['ip']) + self.info['ip'] = ip def captcha_task(self, task): diff --git a/module/plugins/internal/Base.py b/module/plugins/internal/Base.py index 28bc47556..51be82bd4 100644 --- a/module/plugins/internal/Base.py +++ b/module/plugins/internal/Base.py @@ -52,7 +52,7 @@ def check_abort(fn): class Base(Plugin): __name__ = "Base" __type__ = "base" - __version__ = "0.03" + __version__ = "0.04" __status__ = "testing" __pattern__ = r'^unmatchable$' @@ -110,7 +110,7 @@ class Base(Plugin): @classmethod def get_info(cls, url="", html=""): - url = fixurl(url) + url = fixurl(url, unquote=True) info = {'name' : parse_name(url), 'size' : 0, 'status': 3 if url else 8, @@ -378,7 +378,7 @@ class Base(Plugin): def fixurl(self, url, baseurl=None, unquote=True): - url = fixurl(url) + url = fixurl(url, unquote=False) if not baseurl: baseurl = fixurl(self.pyfile.url) diff --git a/module/plugins/internal/Plugin.py b/module/plugins/internal/Plugin.py index 9d2aa8b50..d89c3d2c0 100644 --- a/module/plugins/internal/Plugin.py +++ b/module/plugins/internal/Plugin.py @@ -60,7 +60,7 @@ def fixurl(url, unquote=None): if unquote is None: unquote = newurl == url - newurl = html_unescape(newurl.decode('unicode-escape')) + newurl = html_unescape(decode(newurl).decode('unicode-escape')) newurl = re.sub(r'(?<!:)/{2,}', '/', newurl).strip().lstrip('.') if not unquote: @@ -96,7 +96,7 @@ def str2int(string): t_tuple = [(w, i * 10) for i, w in enumerate(tens)] numwords = dict(o_tuple + t_tuple) - tokens = re.split(r"[\s-]+", string.lower()) + tokens = re.split(r"[\s\-]+", string.lower()) try: return sum(numwords[word] for word in tokens) @@ -226,7 +226,7 @@ def chunks(iterable, size): class Plugin(object): __name__ = "Plugin" __type__ = "plugin" - __version__ = "0.47" + __version__ = "0.48" __status__ = "testing" __pattern__ = r'^unmatchable$' @@ -398,7 +398,7 @@ class Plugin(object): self.log_debug("LOAD URL " + url, *["%s=%s" % (key, val) for key, val in locals().items() if key not in ("self", "url", "_[1]")]) - url = fixurl(url) #: Recheck in 0.4.10 + url = fixurl(url, unquote=True) #: Recheck in 0.4.10 if req is None: req = self.req or self.pyload.requestFactory.getRequest(self.__name__) diff --git a/module/plugins/internal/UnRar.py b/module/plugins/internal/UnRar.py index 39a919ec6..f31a386a7 100644 --- a/module/plugins/internal/UnRar.py +++ b/module/plugins/internal/UnRar.py @@ -38,7 +38,7 @@ class UnRar(Extractor): re_multipart = re.compile(r'\.(part|r)(\d+)(?:\.rar)?(\.rev|\.bad)?', re.I) re_filefixed = re.compile(r'Building (.+)') - re_filelist = re.compile(r'^(.)(\s*[\w.-]+)\s+(\d+\s+)+(?:\d+\%\s+)?[\d-]{8}\s+[\d\:]{5}', re.M|re.I) + re_filelist = re.compile(r'^(.)(\s*[\w\-.]+)\s+(\d+\s+)+(?:\d+\%\s+)?[\d\-]{8}\s+[\d\:]{5}', re.M|re.I) re_wrongpwd = re.compile(r'password', re.I) re_wrongcrc = re.compile(r'encrypted|damaged|CRC failed|checksum error|corrupt', re.I) |