diff options
| author | 2013-06-28 16:51:29 +0200 | |
|---|---|---|
| committer | 2013-06-28 16:51:29 +0200 | |
| commit | 7bf2fe99e8d704719a81b3a9ac7ffdb4b0324987 (patch) | |
| tree | 6a92680d11964e62ba0d74bcb9c03e1dfba0620d | |
| parent | Fixed #170 (diff) | |
| download | pyload-7bf2fe99e8d704719a81b3a9ac7ffdb4b0324987.tar.xz | |
LoadTo: Plugin rewritten to fix #181
| -rw-r--r-- | module/plugins/hoster/LoadTo.py | 64 | 
1 files changed, 21 insertions, 43 deletions
| diff --git a/module/plugins/hoster/LoadTo.py b/module/plugins/hoster/LoadTo.py index babf354a9..0f99c272a 100644 --- a/module/plugins/hoster/LoadTo.py +++ b/module/plugins/hoster/LoadTo.py @@ -16,41 +16,25 @@      @author: halfman  """ +# Test links (random.bin): +# http://www.load.to/dNsmgXRk4/random.bin +# http://www.load.to/edbNTxcUb/random100.bin +  import re -from module.plugins.Hoster import Hoster -from module.network.RequestFactory import getURL - -def getInfo(urls): -    result = [] - -    for url in urls: - -        html = getURL(url, decode=True) -        if re.search(LoadTo.FILE_OFFLINE_PATTERN, html): -            # File offline -            result.append((url, 0, 1, url)) -        else: -            # Get file info -            name = re.search(LoadTo.FILE_NAME_PATTERN, html) -            size = re.search(LoadTo.SIZE_PATTERN, html) -            if name is not None and size is not None: -                name = name.group(1) -                size = size.group(1) -                result.append((name, size, 2, url)) -    yield result - -class LoadTo(Hoster): +from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo + + +class LoadTo(SimpleHoster):      __name__ = "LoadTo"      __type__ = "hoster" -    __pattern__ = r"http://(www.*?\.)?load\.to/.{7,10}?/.*"  -    __version__ = "0.11" -    __description__ = """load.to""" -    __author_name__ = ("halfman") -    __author_mail__ = ("Pulpan3@gmail.com") +    __pattern__ = r"http://(?:www\.)?load\.to/\w+" +    __version__ = "0.12" +    __description__ = """Load.to hoster plugin""" +    __author_name__ = ("halfman", "stickell") +    __author_mail__ = ("Pulpan3@gmail.com", "l.stickell@yahoo.it") -    FILE_NAME_PATTERN = r'<div class="toolarge"><h1>(.+?)</h1></div>' +    FILE_INFO_PATTERN = r'<a [^>]+>(?P<N>.+)</a></h3>\s*Size: (?P<S>\d+) Bytes'      URL_PATTERN = r'<form method="post" action="(.+?)"' -    SIZE_PATTERN = r'<div class="download_table_right">(\d+) Bytes</div>'      FILE_OFFLINE_PATTERN = r'Can\'t find file. Please check URL.<br />'      WAIT_PATTERN = r'type="submit" value="Download \((\d+)\)"' @@ -61,23 +45,17 @@ class LoadTo(Hoster):          self.html = self.load(pyfile.url, decode=True) -        if re.search(self.FILE_OFFLINE_PATTERN, self.html): -            self.offline() -         -        found = re.search(self.FILE_NAME_PATTERN, self.html) -        if found is None: -            self.fail("Parse error (NAME)") -        pyfile.name = found.group(1) -          found = re.search(self.URL_PATTERN, self.html) -        if found is None: -            self.fail("Parse error (URL)") +        if not found: +            self.parseError('URL')          download_url = found.group(1) -         +          timmy = re.search(self.WAIT_PATTERN, self.html)          if timmy:              self.setWait(timmy.group(1))              self.wait() -        self.req.setOption("timeout", 120) -        self.download(download_url)
\ No newline at end of file +        self.download(download_url, disposition=True) + + +getInfo = create_getInfo(LoadTo) | 
