diff options
-rw-r--r-- | module/plugins/crypter/FileserveComFolder.py | 23 | ||||
-rw-r--r-- | module/plugins/hoster/LetitbitNet.py | 22 |
2 files changed, 23 insertions, 22 deletions
diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py index f9fd9f1cc..9fe806971 100644 --- a/module/plugins/crypter/FileserveComFolder.py +++ b/module/plugins/crypter/FileserveComFolder.py @@ -1,31 +1,32 @@ # -*- coding: utf-8 -*- import re + from module.plugins.Crypter import Crypter class FileserveComFolder(Crypter): __name__ = "FileserveComFolder" __type__ = "crypter" - __pattern__ = r"http://(www\.)?fileserve\.com/list/\w+" - __version__ = "0.10" - __description__ = """Fileserve.com Folder Plugin""" - __author_name__ = ("zoidberg") - __author_mail__ = ("zoidberg@mujmail.cz") + __pattern__ = r"http://(?:www\.)?fileserve.com/list/\w+" + __version__ = "0.11" + __description__ = """FileServeCom.com Folder Plugin""" + __author_name__ = ("fionnc") + __author_mail__ = ("fionnc@gmail.com") - FOLDER_PATTERN = r'<div class="middle">(.*?)<div class="tail">' - LINK_PATTERN = r'<a href="(/file/[^"]+)"' + FOLDER_PATTERN = r'<table class="file_list">(.*?)</table>' + LINK_PATTERN = r'<a href="([^"]+)" class="sheet_icon wbold">' def decrypt(self, pyfile): - html = self.load(pyfile.url) + html = self.load(self.pyfile.url) new_links = [] folder = re.search(self.FOLDER_PATTERN, html, re.DOTALL) - if not folder: self.fail("Parse error (FOLDER)") + if folder is None: self.fail("Parse error (FOLDER)") - new_links.extend(map(lambda s:"http://www.fileserve.com%s" % s, re.findall(self.LINK_PATTERN, folder.group(1)))) + new_links.extend(re.findall(self.LINK_PATTERN, folder.group(1))) if new_links: - self.core.files.addLinks(new_links, self.pyfile.package().id) + self.core.files.addLinks(map(lambda s:"http://fileserve.com%s" % s, new_links), self.pyfile.package().id) else: self.fail('Could not extract any links')
\ No newline at end of file diff --git a/module/plugins/hoster/LetitbitNet.py b/module/plugins/hoster/LetitbitNet.py index 170693a9e..01d796330 100644 --- a/module/plugins/hoster/LetitbitNet.py +++ b/module/plugins/hoster/LetitbitNet.py @@ -23,13 +23,12 @@ class LetitbitNet(SimpleHoster): __name__ = "LetitbitNet" __type__ = "hoster" __pattern__ = r"http://(?:\w*\.)*letitbit.net/download/.*" - __version__ = "0.11" + __version__ = "0.12" __description__ = """letitbit.net""" __author_name__ = ("zoidberg") __author_mail__ = ("zoidberg@mujmail.cz") - IFREE_FORM_PATTERN = r'<form id="ifree_form" action="([^"]+)" method="post">(.*?)</form>' - DVIFREE_FORM_PATTERN = r'<form action="([^"]+)" method="post" id="dvifree">(.*?)</form>' + FORM_PATTERN = r'<form%s action="([^"]+)" method="post"%s>(.*?)</form>' FORM_INPUT_PATTERN = r'<input[^>]* name="([^"]+)" value="([^"]+)" />' JS_SCRIPT_PATTERN = r'<title>[^<]*</title>\s*<script language="JavaScript">(.*?)</script>' JS_VARS_PATTERN = r"(\S+) = '?([^';]+)'?;" @@ -45,24 +44,25 @@ class LetitbitNet(SimpleHoster): if re.search(self.FILE_OFFLINE_PATTERN, self.html): self.offline() try: - action, form = re.search(self.IFREE_FORM_PATTERN, self.html, re.DOTALL).groups() + action, form = re.search(self.FORM_PATTERN % (' id="ifree_form"', ''), self.html, re.DOTALL).groups() inputs = dict(re.findall(self.FORM_INPUT_PATTERN, form)) pyfile.name = inputs['name'] pyfile.size = float(inputs['sssize'])/1024 except Exception, e: self.logError(e) - self.fail("Parse error on page 1") - - self.logDebug(inputs) + self.parseError("page 1 / ifree_form") + + #self.logDebug(inputs) inputs['desc'] = "" self.html = self.load("http://letitbit.net" + action, post = inputs) + try: - action, form = re.search(self.DVIFREE_FORM_PATTERN, self.html, re.DOTALL).groups() + action, form = re.search(self.FORM_PATTERN % ('', ' id="d3_form"'), self.html, re.DOTALL).groups() inputs = dict(re.findall(self.FORM_INPUT_PATTERN, form)) except Exception, e: self.logError(e) - self.fail("Parse error on page 2") - + self.parseError("page 2 / d3_form") + self.html = self.load(action, post = inputs) try: form = re.search(self.JS_SCRIPT_PATTERN, self.html, re.DOTALL).group(1) @@ -72,7 +72,7 @@ class LetitbitNet(SimpleHoster): self.wait() except Exception, e: self.logError(e) - self.fail("Parse error on page 3") + self.parseError("page 3 / js") download_url = self.load(ajax_check_url, post = inputs) self.download(download_url) |