diff options
| author | 2016-05-22 23:50:55 +0200 | |
|---|---|---|
| committer | 2016-05-22 23:50:55 +0200 | |
| commit | e39d55a237f116cacc3e686f4bb5449d0449174b (patch) | |
| tree | e2ca8745d9f3ebfda51b8a1c21a045e064f61ddc /module/plugins/hoster | |
| parent | [New hoster] HearthisAt - fix #2467 (diff) | |
| download | pyload-e39d55a237f116cacc3e686f4bb5449d0449174b.tar.xz | |
[New hoster] [DatoidCz] fix #665
Diffstat (limited to 'module/plugins/hoster')
| -rw-r--r-- | module/plugins/hoster/DatoidCz.py | 53 | 
1 files changed, 53 insertions, 0 deletions
| diff --git a/module/plugins/hoster/DatoidCz.py b/module/plugins/hoster/DatoidCz.py new file mode 100644 index 000000000..364bcfd67 --- /dev/null +++ b/module/plugins/hoster/DatoidCz.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- + +import time +import urlparse + +from module.plugins.internal.misc import json +from module.plugins.internal.SimpleHoster import SimpleHoster + + +class DatoidCz(SimpleHoster): +    __name__    = "DatoidCz" +    __type__    = "hoster" +    __version__ = "0.01" +    __status__  = "testing" + +    __pattern__ = r'https?://(?:www\.)?datoid\.(?:cz|sk|pl)/(?!slozka)\w{6}' +    __config__  = [("activated"   , "bool", "Activated"                                        , True), +                   ("use_premium" , "bool", "Use premium account if available"                 , True), +                   ("fallback"    , "bool", "Fallback to free download if premium fails"       , True), +                   ("chk_filesize", "bool", "Check file size"                                  , True), +                   ("max_wait"    , "int" , "Reconnect if waiting time is greater than minutes", 10  )] + +    __description__ = """Datoid.cz hoster plugin""" +    __license__     = "GPLv3" +    __authors__     = [("GammaC0de", "nitzo2001[AT]yahoo[DOT]com")] + + +    NAME_PATTERN    = ur'Název souboru: (?P<N>.+)' +    SIZE_PATTERN    =  r'Velikost: (?P<S>[\d.,]+) (?P<U>[\w^_]+)' +    OFFLINE_PATTERN =  r'Tento soubor neexistuje' + +    URL_REPLACEMENTS = [(r'datoid.sk', r'datoid.cz'), +                        (r'datoid.pl', r'datoid.cz')] + + +    def handle_free(self, pyfile): +        url = self.req.lastEffectiveURL +        urlp = urlparse.urlparse(url) + +        json_data = json.loads(self.load(urlparse.urljoin(url, "/f/" + urlp.path + str(int(time.time() * 1000))))) +        self.log_debug(json_data) + +        if "error" in json_data: +            self.fail(json_data['error']) + +        self.link = json_data['redirect'] + + +    def handle_premium(self, pyfile): +        url = self.req.lastEffectiveURL +        urlp = urlparse.urlparse(url) + +        self.link = urlparse.urljoin(url, "/f/" + urlp.path + str(int(time.time() * 1000))) | 
