diff options
| author | 2014-11-15 17:15:29 +0100 | |
|---|---|---|
| committer | 2014-11-15 17:15:29 +0100 | |
| commit | 282362c01b67f83ff5cf677ba125a41a6d594f2c (patch) | |
| tree | 7782f1a146f41fa26fdd2c4bdb1679977cf5cf35 /pyload/plugins/crypter/MediafireCom.py | |
| parent | Code cosmetics (diff) | |
| download | pyload-282362c01b67f83ff5cf677ba125a41a6d594f2c.tar.xz | |
Update plugins 2
Diffstat (limited to 'pyload/plugins/crypter/MediafireCom.py')
| -rw-r--r-- | pyload/plugins/crypter/MediafireCom.py | 56 | 
1 files changed, 56 insertions, 0 deletions
| diff --git a/pyload/plugins/crypter/MediafireCom.py b/pyload/plugins/crypter/MediafireCom.py new file mode 100644 index 000000000..392f59c52 --- /dev/null +++ b/pyload/plugins/crypter/MediafireCom.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- + +import re +from pyload.plugins.internal.Crypter import Crypter +from pyload.plugins.hoster.MediafireCom import checkHTMLHeader +from pyload.utils import json_loads + + +class MediafireCom(Crypter): +    __name__    = "MediafireCom" +    __type__    = "crypter" +    __version__ = "0.14" + +    __pattern__ = r'http://(?:www\.)?mediafire\.com/(folder/|\?sharekey=|\?\w{13}($|[/#]))' +    __config__  = [("use_subfolder", "bool", "Save package to subfolder", True), +                   ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] + +    __description__ = """Mediafire.com folder decrypter plugin""" +    __license__     = "GPLv3" +    __authors__     = [("zoidberg", "zoidberg@mujmail.cz")] + + +    FOLDER_KEY_PATTERN = r'var afI= \'(\w+)' +    LINK_PATTERN = r'<meta property="og:url" content="http://www\.mediafire\.com/\?(\w+)"/>' + + +    def decrypt(self, pyfile): +        url, result = checkHTMLHeader(pyfile.url) +        self.logDebug("Location (%d): %s" % (result, url)) + +        if result == 0: +            # load and parse html +            html = self.load(pyfile.url) +            m = re.search(self.LINK_PATTERN, html) +            if m: +                # file page +                self.urls.append("http://www.mediafire.com/file/%s" % m.group(1)) +            else: +                # folder page +                m = re.search(self.FOLDER_KEY_PATTERN, html) +                if m: +                    folder_key = m.group(1) +                    self.logDebug("FOLDER KEY: %s" % folder_key) + +                    json_resp = json_loads(self.load( +                        "http://www.mediafire.com/api/folder/get_info.php?folder_key=%s&response_format=json&version=1" % folder_key)) +                    #self.logInfo(json_resp) +                    if json_resp['response']['result'] == "Success": +                        for link in json_resp['response']['folder_info']['files']: +                            self.urls.append("http://www.mediafire.com/file/%s" % link['quickkey']) +                    else: +                        self.fail(json_resp['response']['message']) +        elif result == 1: +            self.offline() +        else: +            self.urls.append(url) | 
