diff options
Diffstat (limited to 'module/plugins/hoster/FshareVn.py')
-rw-r--r-- | module/plugins/hoster/FshareVn.py | 50 |
1 files changed, 23 insertions, 27 deletions
diff --git a/module/plugins/hoster/FshareVn.py b/module/plugins/hoster/FshareVn.py index 50128db10..a5aac222c 100644 --- a/module/plugins/hoster/FshareVn.py +++ b/module/plugins/hoster/FshareVn.py @@ -4,27 +4,27 @@ import re import time import urlparse -from module.network.RequestFactory import getURL -from module.plugins.internal.SimpleHoster import SimpleHoster, parseFileInfo +from module.network.RequestFactory import getURL as get_url +from module.plugins.internal.SimpleHoster import SimpleHoster, parse_fileInfo -def getInfo(urls): +def get_info(urls): for url in urls: - html = getURL("http://www.fshare.vn/check_link.php", - post={'action': "check_link", 'arrlinks': url}, - decode=True) + html = get_url("http://www.fshare.vn/check_link.php", + post={'action': "check_link", 'arrlinks': url}) - yield parseFileInfo(FshareVn, url, html) + yield parse_fileInfo(FshareVn, url, html) -def doubleDecode(m): +def double_decode(m): return m.group(1).decode('raw_unicode_escape') class FshareVn(SimpleHoster): __name__ = "FshareVn" __type__ = "hoster" - __version__ = "0.20" + __version__ = "0.21" + __status__ = "testing" __pattern__ = r'http://(?:www\.)?fshare\.vn/file/.+' __config__ = [("use_premium", "bool", "Use premium account if available", True)] @@ -45,31 +45,27 @@ class FshareVn(SimpleHoster): def preload(self): self.html = self.load("http://www.fshare.vn/check_link.php", - post={'action': "check_link", 'arrlinks': pyfile.url}, - decode=True) + post={'action': "check_link", 'arrlinks': pyfile.url}) - if isinstance(self.TEXT_ENCODING, basestring): - self.html = unicode(self.html, self.TEXT_ENCODING) + def handle_free(self, pyfile): + self.html = self.load(pyfile.url) - def handleFree(self, pyfile): - self.html = self.load(pyfile.url, decode=True) + self.check_errors() - self.checkErrors() - - action, inputs = self.parseHtmlForm('frm_download') + action, inputs = self.parse_html_form('frm_download') url = urlparse.urljoin(pyfile.url, action) if not inputs: self.error(_("No FORM")) elif 'link_file_pwd_dl' in inputs: - password = self.getPassword() + password = self.get_password() if password: - self.logInfo(_("Password protected link, trying ") + password) + self.log_info(_("Password protected link, trying ") + password) inputs['link_file_pwd_dl'] = password - self.html = self.load(url, post=inputs, decode=True) + self.html = self.load(url, post=inputs) if 'name="link_file_pwd_dl"' in self.html: self.fail(_("Incorrect password")) @@ -77,12 +73,12 @@ class FshareVn(SimpleHoster): self.fail(_("No password found")) else: - self.html = self.load(url, post=inputs, decode=True) + self.html = self.load(url, post=inputs) - self.checkErrors() + self.check_errors() m = re.search(r'var count = (\d+)', self.html) - self.setWait(int(m.group(1)) if m else 30) + self.set_wait(int(m.group(1)) if m else 30) m = re.search(self.LINK_FREE_PATTERN, self.html) if m is None: @@ -92,19 +88,19 @@ class FshareVn(SimpleHoster): self.wait() - def checkErrors(self): + def check_errors(self): if '/error.php?' in self.req.lastEffectiveURL or u"Liên kết bạn chọn không tồn" in self.html: self.offline() m = re.search(self.WAIT_PATTERN, self.html) if m: - self.logInfo(_("Wait until %s ICT") % m.group(1)) + self.log_info(_("Wait until %s ICT") % m.group(1)) wait_until = time.mktime.time(time.strptime.time(m.group(1), "%d/%m/%Y %H:%M")) self.wait(wait_until - time.mktime.time(time.gmtime.time()) - 7 * 60 * 60, True) self.retry() elif '<ul class="message-error">' in self.html: msg = "Unknown error occured or wait time not parsed" - self.logError(msg) + self.log_error(msg) self.retry(30, 2 * 60, msg) self.info.pop('error', None) |