From 84b12612e3498d8e3543b2f54bbe3b848ee83460 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 8 Nov 2014 01:49:36 +0100 Subject: [XFSHoster] Improve ERROR_PATTERN --- module/plugins/internal/XFSHoster.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/module/plugins/internal/XFSHoster.py b/module/plugins/internal/XFSHoster.py index ecf1f9f97..84c8dfa91 100644 --- a/module/plugins/internal/XFSHoster.py +++ b/module/plugins/internal/XFSHoster.py @@ -16,7 +16,7 @@ from module.utils import html_unescape class XFSHoster(SimpleHoster): __name__ = "XFSHoster" __type__ = "hoster" - __version__ = "0.14" + __version__ = "0.15" __pattern__ = r'^unmatchable$' @@ -36,7 +36,7 @@ class XFSHoster(SimpleHoster): INFO_PATTERN = r'Filename:(?P[^<]+)\s*.*?\((?P[^<]+)\)' NAME_PATTERN = r'[\d\.\,]+) ?(?P[\w^_]+)?\)' + SIZE_PATTERN = r'You have requested .*\((?P[\d.,]+) ?(?P[\w^_]+)?\)' OFFLINE_PATTERN = r'>\s*\w+ (Not Found|file (was|has been) removed)' TEMP_OFFLINE_PATTERN = r'>\s*\w+ server (is in )?(maintenance|maintainance)' @@ -51,7 +51,7 @@ class XFSHoster(SimpleHoster): RECAPTCHA_PATTERN = None SOLVEMEDIA_PATTERN = None - ERROR_PATTERN = r'(?:class=["\']err["\'][^>]*>|<[Cc]enter>)(.+?)(?:["\']|]*>|<[Cc]enter>)(.+?)(?:["\']|\(ERROR:(.+?)\)' def setup(self): @@ -165,9 +165,14 @@ class XFSHoster(SimpleHoster): self.html = self.load(action, post=inputs) + self.checkErrors() + action, inputs = self.parseHtmlForm('F1') if not inputs: - self.error(_("TEXTAREA F1 not found")) + if self.errmsg: + self.retry(reason=self.errmsg) + else: + self.error(_("TEXTAREA F1 not found")) self.logDebug(inputs) @@ -239,7 +244,7 @@ class XFSHoster(SimpleHoster): self.fail(_("File too large for free download")) else: - self.fail(self.errmsg) + self.retry(wait_time=60, reason=self.errmsg) return self.errmsg -- cgit v1.2.3