diff options
Diffstat (limited to 'pyload/plugin/hoster/UpleaCom.py')
-rw-r--r-- | pyload/plugin/hoster/UpleaCom.py | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/pyload/plugin/hoster/UpleaCom.py b/pyload/plugin/hoster/UpleaCom.py new file mode 100644 index 000000000..0459a82ea --- /dev/null +++ b/pyload/plugin/hoster/UpleaCom.py @@ -0,0 +1,63 @@ +# -*- coding: utf-8 -*- + +import re +import urlparse + +from pyload.plugin.internal.XFSHoster import XFSHoster + + +class UpleaCom(XFSHoster): + __name = "UpleaCom" + __type = "hoster" + __version = "0.10" + + __pattern = r'https?://(?:www\.)?uplea\.com/dl/\w{15}' + + __description = """Uplea.com hoster plugin""" + __license = "GPLv3" + __authors = [("Redleon", None), + ("GammaC0de", None)] + + + DISPOSITION = False #@TODO: Remove in 0.4.10 + + HOSTER_DOMAIN = "uplea.com" + + 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'"(https?://\w+\.uplea\.com/anonym/.*?)"' + + 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): + self.multiDL = False + self.chunkLimit = 1 + self.resumeDownload = True + + + def handleFree(self, pyfile): + m = re.search(self.STEP_PATTERN, self.html) + if m is None: + self.error(_("STEP_PATTERN not found")) + + self.html = self.load(urlparse.urljoin("http://uplea.com/", m.group(1))) + + m = re.search(self.WAIT_PATTERN, self.html) + if m: + 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.link = m.group(1) + self.wait(15) |