summaryrefslogtreecommitdiffstats
path: root/module/plugins/hoster/UpleaCom.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/hoster/UpleaCom.py')
-rw-r--r--module/plugins/hoster/UpleaCom.py35
1 files changed, 20 insertions, 15 deletions
diff --git a/module/plugins/hoster/UpleaCom.py b/module/plugins/hoster/UpleaCom.py
index 7ae46ef38..9d460ef98 100644
--- a/module/plugins/hoster/UpleaCom.py
+++ b/module/plugins/hoster/UpleaCom.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urlparse import urljoin
+import urlparse
from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo
@@ -10,26 +9,31 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo
class UpleaCom(XFSHoster):
__name__ = "UpleaCom"
__type__ = "hoster"
- __version__ = "0.05"
+ __version__ = "0.10"
__pattern__ = r'https?://(?:www\.)?uplea\.com/dl/\w{15}'
__description__ = """Uplea.com hoster plugin"""
__license__ = "GPLv3"
- __authors__ = [("Redleon", None)]
+ __authors__ = [("Redleon", None),
+ ("GammaC0de", None)]
+
+ DISPOSITION = False #@TODO: Remove in 0.4.10
HOSTER_DOMAIN = "uplea.com"
- NAME_PATTERN = r'class="agmd size18">(?P<N>.+?)<'
- SIZE_PATTERN = r'size14">(?P<S>[\d.,]+) (?P<U>[\w^_])</span>'
+ SIZE_REPLACEMENTS = [('ko','KB'), ('mo','MB'), ('go','GB'), ('Ko','KB'), ('Mo','MB'), ('Go','GB')]
+ NAME_PATTERN = r'<span class="gold-text">(?P<N>.+?)</span>'
+ SIZE_PATTERN = r'<span class="label label-info agmd">(?P<S>[\d.,]+) (?P<U>[\w^_]+?)</span>'
OFFLINE_PATTERN = r'>You followed an invalid or expired link'
- LINK_PATTERN = r'"(http?://\w+\.uplea\.com/anonym/.*?)"'
+ LINK_PATTERN = r'"(https?://\w+\.uplea\.com/anonym/.*?)"'
- WAIT_PATTERN = r'timeText:([\d.]+),'
- STEP_PATTERN = r'<a href="(/step/.+)">'
+ PREMIUM_ONLY_PATTERN = r'You need to have a Premium subscription to download this file'
+ WAIT_PATTERN = r'timeText: ?([\d.]+),'
+ STEP_PATTERN = r'<a href="(/step/.+)">'
def setup(self):
@@ -38,24 +42,25 @@ class UpleaCom(XFSHoster):
self.resumeDownload = True
- def handleFree(self):
+ def handleFree(self, pyfile):
m = re.search(self.STEP_PATTERN, self.html)
if m is None:
- self.error("STEP_PATTERN not found")
+ self.error(_("STEP_PATTERN not found"))
- self.html = self.load(urljoin("http://uplea.com/", m.group(1)))
+ self.html = self.load(urlparse.urljoin("http://uplea.com/", m.group(1)))
m = re.search(self.WAIT_PATTERN, self.html)
if m:
- self.wait(int(m.group(1)), True)
+ self.logDebug(_("Waiting %s seconds") % m.group(1))
+ self.wait(m.group(1), True)
self.retry()
m = re.search(self.LINK_PATTERN, self.html)
if m is None:
- self.error("LINK_PATTERN not found")
+ self.error(_("LINK_PATTERN not found"))
+ self.link = m.group(1)
self.wait(15)
- self.download(m.group(1), disposition=True)
getInfo = create_getInfo(UpleaCom)