summaryrefslogtreecommitdiffstats
path: root/module/plugins/internal
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/internal')
-rw-r--r--module/plugins/internal/Base.py12
-rw-r--r--module/plugins/internal/CaptchaService.py6
-rw-r--r--module/plugins/internal/Container.py2
-rw-r--r--module/plugins/internal/SimpleCrypter.py24
-rw-r--r--module/plugins/internal/SimpleHoster.py26
-rw-r--r--module/plugins/internal/XFSAccount.py26
-rw-r--r--module/plugins/internal/XFSHoster.py24
7 files changed, 58 insertions, 62 deletions
diff --git a/module/plugins/internal/Base.py b/module/plugins/internal/Base.py
index 48b4ff237..84986bd09 100644
--- a/module/plugins/internal/Base.py
+++ b/module/plugins/internal/Base.py
@@ -101,7 +101,7 @@ class Base(Plugin):
self.captcha = Captcha(self)
#: Some plugins store html code here
- self.html = None
+ self.data = ""
#: Dict of the amount of retries already made
self.retries = {}
@@ -137,9 +137,9 @@ class Base(Plugin):
def _setup(self):
#@TODO: Remove in 0.4.10
- self.html = ""
- self.pyfile.error = ""
- self.last_html = None
+ self.data = ""
+ self.pyfile.error = ""
+ self.last_html = None
if self.get_config('use_premium', True):
self.load_account() #@TODO: Move to PluginThread in 0.4.10
@@ -221,7 +221,7 @@ class Base(Plugin):
self.log_info(_("Grabbing link info..."))
old_info = dict(self.info)
- new_info = self.get_info(self.pyfile.url, self.html)
+ new_info = self.get_info(self.pyfile.url, self.data)
self.info.update(new_info)
@@ -491,7 +491,7 @@ class Base(Plugin):
def parse_html_form(self, attr_str="", input_names={}):
- return parse_html_form(attr_str, self.html, input_names)
+ return parse_html_form(attr_str, self.data, input_names)
def get_password(self):
diff --git a/module/plugins/internal/CaptchaService.py b/module/plugins/internal/CaptchaService.py
index 353ac4e13..b3f7841f0 100644
--- a/module/plugins/internal/CaptchaService.py
+++ b/module/plugins/internal/CaptchaService.py
@@ -26,12 +26,8 @@ class CaptchaService(Captcha):
self.fail(_("%s key not found") % self.__name__)
- #@TODO: Recheck in 0.4.10, html is now pyfile.data
def retrieve_data(self):
- if hasattr(self.plugin, "html") and self.plugin.html:
- return self.plugin.html
- else:
- self.fail(_("%s data not found") % self.__name__)
+ return self.plugin.data or self.plugin.last_html or ""
def detect_key(self, data=None):
diff --git a/module/plugins/internal/Container.py b/module/plugins/internal/Container.py
index b96e6e9b0..16b2df2a8 100644
--- a/module/plugins/internal/Container.py
+++ b/module/plugins/internal/Container.py
@@ -68,7 +68,7 @@ class Container(Crypter):
else:
self.fail(_("File not exists"))
else:
- self.data = self.pyfile.url
+ self.data = self.pyfile.url #@NOTE: ???
def delete_tmp(self):
diff --git a/module/plugins/internal/SimpleCrypter.py b/module/plugins/internal/SimpleCrypter.py
index 51b104381..89dc9b1a2 100644
--- a/module/plugins/internal/SimpleCrypter.py
+++ b/module/plugins/internal/SimpleCrypter.py
@@ -170,7 +170,7 @@ class SimpleCrypter(Crypter):
def preload(self):
- self.html = self.load(self.pyfile.url,
+ self.data = self.load(self.pyfile.url,
cookies=self.COOKIES,
ref=False,
decode=self.TEXT_ENCODING)
@@ -228,7 +228,7 @@ class SimpleCrypter(Crypter):
if not self.LINK_FREE_PATTERN:
self.log_warning(_("Free decrypting not implemented"))
- links = re.findall(self.LINK_FREE_PATTERN, self.html)
+ links = re.findall(self.LINK_FREE_PATTERN, self.data)
if not links:
self.error(_("Free decrypted link not found"))
else:
@@ -240,7 +240,7 @@ class SimpleCrypter(Crypter):
self.log_warning(_("Premium decrypting not implemented"))
self.restart(premium=False)
- links = re.findall(self.LINK_PREMIUM_PATTERN, self.html)
+ links = re.findall(self.LINK_PREMIUM_PATTERN, self.data)
if not links:
self.error(_("Premium decrypted link found"))
else:
@@ -249,7 +249,7 @@ class SimpleCrypter(Crypter):
def get_links(self):
"""
- Returns the links extracted from self.html
+ Returns the links extracted from self.data
You should override this only if it's impossible to extract links using only the LINK_PATTERN.
"""
if self.premium:
@@ -269,33 +269,33 @@ class SimpleCrypter(Crypter):
def handle_pages(self, pyfile):
try:
- pages = int(re.search(self.PAGES_PATTERN, self.html).group(1))
+ pages = int(re.search(self.PAGES_PATTERN, self.data).group(1))
except Exception:
pages = 1
for p in xrange(2, pages + 1):
- self.html = self.load_page(p)
+ self.data = self.load_page(p)
self.urls.extend(self.get_links())
def check_errors(self):
- if not self.html:
+ if not self.data:
self.log_debug("No data to check")
return
- if self.IP_BLOCKED_PATTERN and re.search(self.IP_BLOCKED_PATTERN, self.html):
+ if self.IP_BLOCKED_PATTERN and re.search(self.IP_BLOCKED_PATTERN, self.data):
self.fail(_("Connection from your current IP address is not allowed"))
elif not self.premium:
- if self.PREMIUM_ONLY_PATTERN and re.search(self.PREMIUM_ONLY_PATTERN, self.html):
+ if self.PREMIUM_ONLY_PATTERN and re.search(self.PREMIUM_ONLY_PATTERN, self.data):
self.fail(_("Link can be decrypted by premium users only"))
- elif self.SIZE_LIMIT_PATTERN and re.search(self.SIZE_LIMIT_PATTERN, self.html):
+ elif self.SIZE_LIMIT_PATTERN and re.search(self.SIZE_LIMIT_PATTERN, self.data):
self.fail(_("Link list too large for free decrypt"))
if self.ERROR_PATTERN:
- m = re.search(self.ERROR_PATTERN, self.html)
+ m = re.search(self.ERROR_PATTERN, self.data)
if m is not None:
try:
errmsg = m.group(1)
@@ -343,7 +343,7 @@ class SimpleCrypter(Crypter):
self.restart(errmsg)
elif self.WAIT_PATTERN:
- m = re.search(self.WAIT_PATTERN, self.html)
+ m = re.search(self.WAIT_PATTERN, self.data)
if m is not None:
try:
waitmsg = m.group(1).strip()
diff --git a/module/plugins/internal/SimpleHoster.py b/module/plugins/internal/SimpleHoster.py
index ce810deb4..f53b80a0a 100644
--- a/module/plugins/internal/SimpleHoster.py
+++ b/module/plugins/internal/SimpleHoster.py
@@ -238,7 +238,7 @@ class SimpleHoster(Hoster):
def preload(self):
- self.html = self.load(self.pyfile.url,
+ self.data = self.load(self.pyfile.url,
cookies=self.COOKIES,
ref=False,
decode=self.TEXT_ENCODING)
@@ -310,28 +310,28 @@ class SimpleHoster(Hoster):
self.log_debug("Performing custom check rules...")
with open(encode(self.last_download), "rb") as f:
- self.html = f.read(1048576) #@TODO: Recheck in 0.4.10
+ self.data = f.read(1048576) #@TODO: Recheck in 0.4.10
self.check_errors()
def check_errors(self):
- if not self.html:
+ if not self.data:
self.log_debug("No data to check")
return
- if self.IP_BLOCKED_PATTERN and re.search(self.IP_BLOCKED_PATTERN, self.html):
+ if self.IP_BLOCKED_PATTERN and re.search(self.IP_BLOCKED_PATTERN, self.data):
self.fail(_("Connection from your current IP address is not allowed"))
elif not self.premium:
- if self.PREMIUM_ONLY_PATTERN and re.search(self.PREMIUM_ONLY_PATTERN, self.html):
+ if self.PREMIUM_ONLY_PATTERN and re.search(self.PREMIUM_ONLY_PATTERN, self.data):
self.fail(_("File can be downloaded by premium users only"))
- elif self.SIZE_LIMIT_PATTERN and re.search(self.SIZE_LIMIT_PATTERN, self.html):
+ elif self.SIZE_LIMIT_PATTERN and re.search(self.SIZE_LIMIT_PATTERN, self.data):
self.fail(_("File too large for free download"))
- elif self.DL_LIMIT_PATTERN and re.search(self.DL_LIMIT_PATTERN, self.html):
- m = re.search(self.DL_LIMIT_PATTERN, self.html)
+ elif self.DL_LIMIT_PATTERN and re.search(self.DL_LIMIT_PATTERN, self.data):
+ m = re.search(self.DL_LIMIT_PATTERN, self.data)
try:
errmsg = m.group(1)
@@ -348,11 +348,11 @@ class SimpleHoster(Hoster):
self.wait(wait_time, reconnect=wait_time > self.get_config("max_wait", 10) * 60)
self.restart(_("Download limit exceeded"))
- if self.HAPPY_HOUR_PATTERN and re.search(self.HAPPY_HOUR_PATTERN, self.html):
+ if self.HAPPY_HOUR_PATTERN and re.search(self.HAPPY_HOUR_PATTERN, self.data):
self.multiDL = True
if self.ERROR_PATTERN:
- m = re.search(self.ERROR_PATTERN, self.html)
+ m = re.search(self.ERROR_PATTERN, self.data)
if m is not None:
try:
errmsg = m.group(1).strip()
@@ -400,7 +400,7 @@ class SimpleHoster(Hoster):
self.restart(errmsg)
elif self.WAIT_PATTERN:
- m = re.search(self.WAIT_PATTERN, self.html)
+ m = re.search(self.WAIT_PATTERN, self.data)
if m is not None:
try:
waitmsg = m.group(1).strip()
@@ -433,7 +433,7 @@ class SimpleHoster(Hoster):
if not self.LINK_FREE_PATTERN:
self.log_warning(_("Free download not implemented"))
- m = re.search(self.LINK_FREE_PATTERN, self.html)
+ m = re.search(self.LINK_FREE_PATTERN, self.data)
if m is None:
self.error(_("Free download link not found"))
else:
@@ -445,7 +445,7 @@ class SimpleHoster(Hoster):
self.log_warning(_("Premium download not implemented"))
self.restart(premium=False)
- m = re.search(self.LINK_PREMIUM_PATTERN, self.html)
+ m = re.search(self.LINK_PREMIUM_PATTERN, self.data)
if m is None:
self.error(_("Premium download link not found"))
else:
diff --git a/module/plugins/internal/XFSAccount.py b/module/plugins/internal/XFSAccount.py
index 02d94b9a3..3e9003577 100644
--- a/module/plugins/internal/XFSAccount.py
+++ b/module/plugins/internal/XFSAccount.py
@@ -82,13 +82,13 @@ class XFSAccount(MultiAccount):
if not self.PLUGIN_URL: #@TODO: Remove in 0.4.10
return
- self.html = self.load(self.PLUGIN_URL,
+ self.data = self.load(self.PLUGIN_URL,
get={'op': "my_account"},
cookies=self.COOKIES)
- premium = True if re.search(self.PREMIUM_PATTERN, self.html) else False
+ premium = True if re.search(self.PREMIUM_PATTERN, self.data) else False
- m = re.search(self.VALID_UNTIL_PATTERN, self.html)
+ m = re.search(self.VALID_UNTIL_PATTERN, self.data)
if m is not None:
expiredate = m.group(1).strip()
self.log_debug("Expire date: " + expiredate)
@@ -111,7 +111,7 @@ class XFSAccount(MultiAccount):
else:
self.log_debug("VALID UNTIL PATTERN not found")
- m = re.search(self.TRAFFIC_LEFT_PATTERN, self.html)
+ m = re.search(self.TRAFFIC_LEFT_PATTERN, self.data)
if m is not None:
try:
traffic = m.groupdict()
@@ -139,7 +139,7 @@ class XFSAccount(MultiAccount):
else:
self.log_debug("TRAFFIC LEFT PATTERN not found")
- leech = [m.groupdict() for m in re.finditer(self.LEECH_TRAFFIC_PATTERN, self.html)]
+ leech = [m.groupdict() for m in re.finditer(self.LEECH_TRAFFIC_PATTERN, self.data)]
if leech:
leechtraffic = 0
try:
@@ -173,12 +173,12 @@ class XFSAccount(MultiAccount):
def signin(self, user, password, data):
- self.html = self.load(self.LOGIN_URL, cookies=self.COOKIES)
+ self.data = self.load(self.LOGIN_URL, cookies=self.COOKIES)
- if re.search(self.LOGIN_SKIP_PATTERN, self.html):
+ if re.search(self.LOGIN_SKIP_PATTERN, self.data):
self.skip_login()
- action, inputs = parse_html_form('name="FL"', self.html)
+ action, inputs = parse_html_form('name="FL"', self.data)
if not inputs:
inputs = {'op' : "login",
'redirect': self.PLUGIN_URL}
@@ -191,17 +191,17 @@ class XFSAccount(MultiAccount):
else:
url = self.LOGIN_URL
- self.html = self.load(url, post=inputs, cookies=self.COOKIES)
+ self.data = self.load(url, post=inputs, cookies=self.COOKIES)
self.check_errors()
def check_errors(self):
- if not self.html:
- self.log_warning(_("No html code to check"))
+ if not self.data:
+ self.log_debug("No data to check")
return
- m = re.search(self.LOGIN_BAN_PATTERN, self.html)
+ m = re.search(self.LOGIN_BAN_PATTERN, self.data)
if m is not None:
try:
errmsg = m.group(1)
@@ -218,7 +218,7 @@ class XFSAccount(MultiAccount):
self.fail_login(errmsg)
- m = re.search(self.LOGIN_FAIL_PATTERN, self.html)
+ m = re.search(self.LOGIN_FAIL_PATTERN, self.data)
if m is not None:
try:
errmsg = m.group(1)
diff --git a/module/plugins/internal/XFSHoster.py b/module/plugins/internal/XFSHoster.py
index 37afdbce0..971b92b64 100644
--- a/module/plugins/internal/XFSHoster.py
+++ b/module/plugins/internal/XFSHoster.py
@@ -92,19 +92,19 @@ class XFSHoster(SimpleHoster):
self.check_errors()
- m = re.search(self.LINK_PATTERN, self.html, re.S)
+ m = re.search(self.LINK_PATTERN, self.data, re.S)
if m is not None:
break
data = self._post_parameters()
- self.html = self.load(pyfile.url, post=data, redirect=False)
+ self.data = self.load(pyfile.url, post=data, redirect=False)
m = re.search(r'Location\s*:\s*(.+)', self.req.http.header, re.I)
if m and not "op=" in m.group(1):
break
- m = re.search(self.LINK_PATTERN, self.html, re.S)
+ m = re.search(self.LINK_PATTERN, self.data, re.S)
if m is not None:
break
else:
@@ -123,7 +123,7 @@ class XFSHoster(SimpleHoster):
self.fail(_("Only registered or premium users can use url leech feature"))
#: Only tested with easybytez.com
- self.html = self.load("http://www.%s/" % self.PLUGIN_DOMAIN)
+ self.data = self.load("http://www.%s/" % self.PLUGIN_DOMAIN)
action, inputs = self.parse_html_form()
@@ -138,7 +138,7 @@ class XFSHoster(SimpleHoster):
self.req.setOption("timeout", 600) #: Wait for file to upload to easybytez.com
- self.html = self.load(action, post=inputs)
+ self.data = self.load(action, post=inputs)
self.check_errors()
@@ -151,7 +151,7 @@ class XFSHoster(SimpleHoster):
stmsg = inputs['st']
if stmsg == 'OK':
- self.html = self.load(action, post=inputs)
+ self.data = self.load(action, post=inputs)
elif 'Can not leech file' in stmsg:
self.retry(20, 3 * 60, _("Can not leech file"))
@@ -163,7 +163,7 @@ class XFSHoster(SimpleHoster):
self.fail(stmsg)
#: Get easybytez.com link for uploaded file
- m = re.search(self.LINK_LEECH_PATTERN, self.html)
+ m = re.search(self.LINK_LEECH_PATTERN, self.data)
if m is None:
self.error(_("LINK_LEECH_PATTERN not found"))
@@ -195,7 +195,7 @@ class XFSHoster(SimpleHoster):
self.fail(_("Missing password"))
if not self.premium:
- m = re.search(self.WAIT_PATTERN, self.html)
+ m = re.search(self.WAIT_PATTERN, self.data)
if m is not None:
wait_time = int(m.group(1))
self.set_wait(wait_time)
@@ -216,13 +216,13 @@ class XFSHoster(SimpleHoster):
def handle_captcha(self, inputs):
- m = re.search(self.CAPTCHA_PATTERN, self.html)
+ m = re.search(self.CAPTCHA_PATTERN, self.data)
if m is not None:
captcha_url = m.group(1)
inputs['code'] = self.captcha.decrypt(captcha_url)
return
- m = re.search(self.CAPTCHA_BLOCK_PATTERN, self.html, re.S)
+ m = re.search(self.CAPTCHA_BLOCK_PATTERN, self.data, re.S)
if m is not None:
captcha_div = m.group(1)
numerals = re.findall(r'<span.*?padding-left\s*:\s*(\d+).*?>(\d)</span>', html_unescape(captcha_div))
@@ -236,7 +236,7 @@ class XFSHoster(SimpleHoster):
recaptcha = ReCaptcha(self)
try:
- captcha_key = re.search(self.RECAPTCHA_PATTERN, self.html).group(1)
+ captcha_key = re.search(self.RECAPTCHA_PATTERN, self.data).group(1)
except Exception:
captcha_key = recaptcha.detect_key()
@@ -250,7 +250,7 @@ class XFSHoster(SimpleHoster):
solvemedia = SolveMedia(self)
try:
- captcha_key = re.search(self.SOLVEMEDIA_PATTERN, self.html).group(1)
+ captcha_key = re.search(self.SOLVEMEDIA_PATTERN, self.data).group(1)
except Exception:
captcha_key = solvemedia.detect_key()