diff options
Diffstat (limited to 'module/plugins')
-rw-r--r-- | module/plugins/crypter/Go4Up.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/module/plugins/crypter/Go4Up.py b/module/plugins/crypter/Go4Up.py new file mode 100644 index 000000000..8c2f7ef89 --- /dev/null +++ b/module/plugins/crypter/Go4Up.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- + +import re + +from urlparse import urljoin + +from module.plugins.internal.SimpleCrypter import SimpleCrypter + + +class Go4Up(SimpleCrypter): + __name__ = "Go4Up" + __type__ = "crypter" + __version__ = "0.10" + + __pattern__ = r'http://go4up\.com/(dl/\w{12}|rd/\w{12}/\d+)' + + __description__ = """Go4Up.com decrypter plugin""" + __license__ = "GPLv3" + __authors__ = [("rlindner81", "rlindner81@gmail.com"), + ("Walter Purcaro", "vuolter@gmail.com")] + + + LINK_PATTERN = r'(http://go4up\.com/rd/.+?)<' + + NAME_PATTERN = r'<title>Download (.+?)<' + + OFFLINE_PATTERN = r'>\s*(404 Page Not Found|File not Found|Mirror does not exist)' + + + def getLinks(self + links = [] + + m = re.search(r'(/download/gethosts/.+?)"') + if m: + self.html = self.load(urljoin("http://go4up.com/", m.group(1))) + pages = [self.load(url) for url in re.findall(self.LINK_PATTERN, self.html)] + else: + pages = [self.html] + + for html in pages: + try: + links.append(re.search(r'<b><a href="(.+?)"', html).group(1)) + except: + continue + + return links |