summaryrefslogtreecommitdiffstats
path: root/pyload/plugin/crypter/Go4UpCom.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyload/plugin/crypter/Go4UpCom.py')
-rw-r--r--pyload/plugin/crypter/Go4UpCom.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/pyload/plugin/crypter/Go4UpCom.py b/pyload/plugin/crypter/Go4UpCom.py
new file mode 100644
index 000000000..d20233b99
--- /dev/null
+++ b/pyload/plugin/crypter/Go4UpCom.py
@@ -0,0 +1,49 @@
+# -*- coding: utf-8 -*-
+
+import re
+
+from urlparse import urljoin
+
+from pyload.plugin.internal.SimpleCrypter import SimpleCrypter
+
+
+class Go4UpCom(SimpleCrypter):
+ __name = "Go4UpCom"
+ __type = "crypter"
+ __version = "0.11"
+
+ __pattern = r'http://go4up\.com/(dl/\w{12}|rd/\w{12}/\d+)'
+ __config = [("use_premium" , "bool", "Use premium account if available" , True),
+ ("use_subfolder" , "bool", "Save package to subfolder" , True),
+ ("subfolder_per_pack", "bool", "Create a subfolder for each package", True)]
+
+ __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 Exception:
+ continue
+
+ return links