From 2839c54c090f2601fcecd0f7fdaeacc40c7716f5 Mon Sep 17 00:00:00 2001 From: zoidberg10 Date: Fri, 23 Sep 2011 12:25:18 +0200 Subject: plugins: czshare premium, czshare/quickshare/filefactory folders --- module/plugins/crypter/FilefactoryComFolder.py | 44 ++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 module/plugins/crypter/FilefactoryComFolder.py (limited to 'module/plugins/crypter/FilefactoryComFolder.py') diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py new file mode 100644 index 000000000..32793b491 --- /dev/null +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- + +import re +from module.plugins.Crypter import Crypter + +class FilefactoryComFolder(Crypter): + __name__ = "FilefactoryComFolder" + __type__ = "crypter" + __pattern__ = r"(http://(www\.)?filefactory\.com/f/\w+).*" + __version__ = "0.1" + __description__ = """Filefactory.com Folder Plugin""" + __author_name__ = ("zoidberg") + __author_mail__ = ("zoidberg@mujmail.cz") + + FOLDER_PATTERN = r'(.*?)
' + LINK_PATTERN = r'' + PAGINATOR_PATTERN = r'
\s*\s*
    (.*?)
\s*
' + NEXT_PAGE_PATTERN = r'
  • .*?
  • \s*
  • ' + + def decrypt(self, pyfile): + url_base = re.search(self.__pattern__, self.pyfile.url).group(1) + html = self.load(url_base) + + new_links = [] + for i in range(1,100): + self.logInfo("Fetching links from page %i" % i) + found = re.search(self.FOLDER_PATTERN, html, re.DOTALL) + if found is None: self.fail("Parse error (FOLDER)") + + new_links.extend(re.findall(self.LINK_PATTERN, found.group(1))) + + try: + paginator = re.search(self.PAGINATOR_PATTERN, html, re.DOTALL).group(1) + next_page = re.search(self.NEXT_PAGE_PATTERN, paginator).group(1) + html = self.load("%s/%s" % (url_base, next_page)) + except Exception, e: + break + else: + self.logInfo("Limit of 99 pages reached, aborting") + + if new_links: + self.core.files.addLinks(new_links, self.pyfile.package().id) + else: + self.fail('Could not extract any links') \ No newline at end of file -- cgit v1.2.3