diff options
Diffstat (limited to 'pyload/plugins/hoster')
| -rw-r--r-- | pyload/plugins/hoster/DevhostSt.py | 48 | ||||
| -rw-r--r-- | pyload/plugins/hoster/KingfilesNet.py | 82 | 
2 files changed, 130 insertions, 0 deletions
diff --git a/pyload/plugins/hoster/DevhostSt.py b/pyload/plugins/hoster/DevhostSt.py new file mode 100644 index 000000000..5be211809 --- /dev/null +++ b/pyload/plugins/hoster/DevhostSt.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# +# Test links: +# http://d-h.st/mM8 + +import re + +from pyload.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo + + +class DevhostSt(SimpleHoster): +    __name    = "DevhostSt" +    __type    = "hoster" +    __version = "0.03" + +    __pattern = r'http://(?:www\.)?d-h\.st/(?!users/)\w{3}' + +    __description = """d-h.st hoster plugin""" +    __license     = "GPLv3" +    __authors     = [("zapp-brannigan", "fuerst.reinje@web.de")] + + +    NAME_PATTERN = r'>Filename:</span> <div title="(?P<N>.+?)"' +    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.error(_("Download link not found")) + +        dl_url = m.group(1) +        self.download(dl_url, disposition=True) + +        check = self.checkDownload({'html': re.compile("html")}) +        if check == "html": +            self.error(_("Downloaded file is an html page")) + + +getInfo = create_getInfo(DevhostSt) diff --git a/pyload/plugins/hoster/KingfilesNet.py b/pyload/plugins/hoster/KingfilesNet.py new file mode 100644 index 000000000..b8002741f --- /dev/null +++ b/pyload/plugins/hoster/KingfilesNet.py @@ -0,0 +1,82 @@ +# -*- coding: utf-8 -*- + +import re + +from pyload.plugins.internal.captcha import SolveMedia +from pyload.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo + + +class KingfilesNet(SimpleHoster): +    __name    = "KingfilesNet" +    __type    = "hoster" +    __version = "0.05" + +    __pattern = r'http://(?:www\.)?kingfiles\.net/(?P<ID>\w{12})' + +    __description = """Kingfiles.net hoster plugin""" +    __license     = "GPLv3" +    __authors     = [("zapp-brannigan", "fuerst.reinje@web.de"), +                       ("Walter Purcaro", "vuolter@gmail.com")] + + +    NAME_PATTERN = r'name="fname" value="(?P<N>.+?)">' +    SIZE_PATTERN = r'>Size: .+?">(?P<S>[\d.,]+) (?P<U>[\w^_]+)' + +    OFFLINE_PATTERN = r'>(File Not Found</b><br><br>|File Not Found</h2>)' + +    RAND_ID_PATTERN = r'type=\"hidden\" name=\"rand\" value=\"(.+)\">' + +    LINK_PATTERN = r'var download_url = \'(.+)\';' + + +    def setup(self): +        self.resumeDownload = True +        self.multiDL        = True + + +    def handleFree(self): +        # Click the free user button +        post_data = {'op'         : "download1", +                     'usr_login'  : "", +                     'id'         : self.info['pattern']['ID'], +                     'fname'      : self.pyfile.name, +                     'referer'    : "", +                     'method_free': "+"} + +        self.html = self.load(self.pyfile.url, post=post_data, cookies=True, decode=True) + +        solvemedia = SolveMedia(self) +        challenge, response = solvemedia.challenge() + +        # Make the downloadlink appear and load the file +        m = re.search(self.RAND_ID_PATTERN, self.html) +        if m is None: +            self.error(_("Random key not found")) + +        rand = m.group(1) +        self.logDebug("rand = ", rand) + +        post_data = {'op'              : "download2", +                     'id'              : self.info['pattern']['ID'], +                     'rand'            : rand, +                     'referer'         : self.pyfile.url, +                     'method_free'     : "+", +                     'method_premium'  : "", +                     'adcopy_response' : response, +                     'adcopy_challenge': challenge, +                     'down_direct'     : "1"} + +        self.html = self.load(self.pyfile.url, post=post_data, cookies=True, decode=True) + +        m = re.search(self.LINK_PATTERN, self.html) +        if m is None: +            self.error(_("Download url not found")) + +        self.download(m.group(1), cookies=True, disposition=True) + +        check = self.checkDownload({'html': re.compile("<html>")}) +        if check == "html": +            self.error(_("Downloaded file is an html page")) + + +getInfo = create_getInfo(KingfilesNet)  | 
