diff options
Diffstat (limited to 'module/plugins')
| -rw-r--r-- | module/plugins/hoster/DevhostSt.py | 48 | 
1 files changed, 48 insertions, 0 deletions
| diff --git a/module/plugins/hoster/DevhostSt.py b/module/plugins/hoster/DevhostSt.py new file mode 100644 index 000000000..fbeb883e1 --- /dev/null +++ b/module/plugins/hoster/DevhostSt.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# +# Test links: +# http://d-h.st/mM8 + +import re + +from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo + + +class DevhostSt(SimpleHoster): +    __name__ = "Devhost" +    __type__ = "hoster" +    __version__ = "0.01" + +    __pattern__ = r'http://(?:www\.)?d-h\.st/\w+' + +    __description__ = """d-h.st hoster plugin""" +    __author_name__ = "zapp-brannigan" +    __author_mail__ = "fuerst.reinje@web.de" + + +    FILE_NAME_PATTERN = r'>Filename:</span> <div title="(?P<N>.+?)"' +    FILE_SIZE_PATTERN = r'>Size:</span> (?P<S>[\d.]+) (?P<U>\w+)' + +    OFFLINE_PATTERN = r'>File Not Found<' +    LINK_PATTERN = r'id="downloadfile" href="(.+?)"' + + +    def setup(self): +        self.multiDL = True +        self.chunkLimit = 1 + + +    def handleFree(self): +        m = re.search(self.LINK_PATTERN, self.html) +        if m is None: +            self.parseError("Download link not found") + +        dl_url = m.group(1) +        self.logDebug("Download URL = " + dl_url) +        self.download(dl_url, disposition=True) + +        if self.checkDownload({'is_html': re.compile("html")}) == "is_html": +            self.parseError("The downloaded file is html, something went wrong") + + +getInfo = create_getInfo(DevhostSt) | 
