summaryrefslogtreecommitdiffstats
path: root/module/plugins/internal/XFSHoster.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/internal/XFSHoster.py')
-rw-r--r--module/plugins/internal/XFSHoster.py66
1 files changed, 3 insertions, 63 deletions
diff --git a/module/plugins/internal/XFSHoster.py b/module/plugins/internal/XFSHoster.py
index 5e5d4111f..e8b79c8cd 100644
--- a/module/plugins/internal/XFSHoster.py
+++ b/module/plugins/internal/XFSHoster.py
@@ -13,7 +13,7 @@ from module.utils import html_unescape
class XFSHoster(SimpleHoster):
__name__ = "XFSHoster"
__type__ = "hoster"
- __version__ = "0.48"
+ __version__ = "0.49"
__pattern__ = r'^unmatchable$'
@@ -79,7 +79,6 @@ class XFSHoster(SimpleHoster):
self.LINK_PATTERN = pattern % self.HOSTER_DOMAIN.replace('.', '\.')
self.captcha = None
- self.errmsg = None
super(XFSHoster, self).prepare()
@@ -149,7 +148,7 @@ class XFSHoster(SimpleHoster):
action, inputs = self.parseHtmlForm('F1')
if not inputs:
- self.retry(reason=self.errmsg or _("TEXTAREA F1 not found"))
+ self.retry(reason=self.info['error'] if 'error' in self.info else _("TEXTAREA F1 not found"))
self.logDebug(inputs)
@@ -178,65 +177,6 @@ class XFSHoster(SimpleHoster):
self.link = header['location']
- def checkErrors(self):
- m = re.search(self.ERROR_PATTERN, self.html)
- if m is None:
- self.errmsg = None
-
- if re.search(self.HAPPY_HOUR_PATTERN, self.html):
- self.multiDL = True
- else:
- self.setup()
-
- else:
- self.errmsg = m.group(1).strip()
-
- self.logWarning(re.sub(r"<.*?>", " ", self.errmsg))
-
- if 'wait' in self.errmsg:
- wait_time = sum(int(v) * {"hr": 3600, "hour": 3600, "min": 60, "sec": 1, "": 1}[u.lower()] for v, u in
- re.findall(r'(\d+)\s*(hr|hour|min|sec|)', self.errmsg, re.I))
- self.wait(wait_time, wait_time > 300)
-
- elif 'country' in self.errmsg:
- self.fail(_("Downloads are disabled for your country"))
-
- elif 'captcha' in self.errmsg:
- self.invalidCaptcha()
-
- elif 'premium' in self.errmsg and 'require' in self.errmsg:
- self.fail(_("File can be downloaded by premium users only"))
-
- elif 'limit' in self.errmsg:
- if 'day' in self.errmsg:
- delay = secondsToMidnight(gmt=2)
- retries = 3
- else:
- delay = 1 * 60 * 60
- retries = 24
-
- self.wantReconnect = True
- self.retry(retries, delay, _("Download limit exceeded"))
-
- elif 'countdown' in self.errmsg or 'Expired' in self.errmsg:
- self.retry(reason=_("Link expired"))
-
- elif 'maintenance' in self.errmsg or 'maintainance' in self.errmsg:
- self.tempOffline()
-
- elif 'up to' in self.errmsg:
- self.fail(_("File too large for free download"))
-
- else:
- self.wantReconnect = True
- self.retry(wait_time=60, reason=self.errmsg)
-
- if self.errmsg:
- self.info['error'] = self.errmsg
- else:
- self.info.pop('error', None)
-
-
def getPostParameters(self):
if self.FORM_PATTERN or self.FORM_INPUTS_MAP:
action, inputs = self.parseHtmlForm(self.FORM_PATTERN or "", self.FORM_INPUTS_MAP or {})
@@ -246,7 +186,7 @@ class XFSHoster(SimpleHoster):
if not inputs:
action, inputs = self.parseHtmlForm('F1')
if not inputs:
- self.retry(reason=self.errmsg or _("TEXTAREA F1 not found"))
+ self.retry(reason=self.info['error'] if 'error' in self.info else _("TEXTAREA F1 not found"))
self.logDebug(inputs)