From 561357c1e1fdb86a4ad89f146f8a1d1241d21a3b Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 22 Nov 2014 17:09:17 +0100 Subject: [XFSHoster] Improve ERROR_PATTERN + revert direct link detection in getDownloadLink --- module/plugins/internal/XFSHoster.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'module/plugins') diff --git a/module/plugins/internal/XFSHoster.py b/module/plugins/internal/XFSHoster.py index a6a3f3260..d5bbf5c63 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.21" + __version__ = "0.22" __pattern__ = r'^unmatchable$' @@ -46,7 +46,7 @@ class XFSHoster(SimpleHoster): WAIT_PATTERN = r'.*?>(\d+)|id="countdown" value=".*?(\d+).*?"' PREMIUM_ONLY_PATTERN = r'>This file is available for Premium Users only' - ERROR_PATTERN = r'(?:class=["\']err["\'].*?>|<[Cc]enter>|>Error\s*\s*(?:<.+?>)?)(.+?)(?:["\']|\(ERROR:(.+?)\)' + ERROR_PATTERN = r'(?:class=["\']err["\'].*?>|<[Cc]enter>|>Error|>\(ERROR:)(?:\s*<.+?>\s*)*(.+?)(?:["\']|<|\))' OVR_LINK_PATTERN = r'

Download Link

\s*]*>([^<]+)' LINK_PATTERN = None #: final download url pattern @@ -126,11 +126,8 @@ class XFSHoster(SimpleHoster): self.req.http.c.setopt(FOLLOWLOCATION, 1) m = re.search(r'Location\s*:\s*(.+)', self.req.http.header, re.I) - if m: - if 'down_direct' in data and data['down_direct']: - break - else: - self.error(_("Direct download link detected but not found")) + if m and not "op=" in m.group(1): + break m = re.search(self.LINK_PATTERN, self.html, re.S) if m: @@ -212,7 +209,7 @@ class XFSHoster(SimpleHoster): if m is None: self.errmsg = None else: - self.errmsg = m.group(1) + self.errmsg = m.group(1).strip() self.logWarning(re.sub(r"<.*?>", " ", self.errmsg)) -- cgit v1.2.3