diff options
Diffstat (limited to 'module/plugins/hoster/MegacrypterCom.py')
-rw-r--r-- | module/plugins/hoster/MegacrypterCom.py | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/module/plugins/hoster/MegacrypterCom.py b/module/plugins/hoster/MegacrypterCom.py deleted file mode 100644 index 9f012e5be..000000000 --- a/module/plugins/hoster/MegacrypterCom.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- -import re - -from module.common.json_layer import json -from module.plugins.hoster.MegaNz import MegaNz - - -class MegacrypterCom(MegaNz): - __name__ = "MegacrypterCom" - __type__ = "hoster" - __pattern__ = r"(https?://[a-z0-9]{0,10}\.?megacrypter\.com/[a-zA-Z0-9!_\-]+)" - __version__ = "0.1" - __description__ = """megacrypter plugin, based and inherits from RaNaN's MegaNz plugin""" - __author_name__ = ("GonzaloSR", ) - __author_mail__ = ("gonzalo@gonzalosr.com", ) - - API_URL = "http://megacrypter.com/api" - FILE_SUFFIX = ".crypted" - - - def callApi(self, **kwargs): - """ Dispatch a call to the api, see megacrypter.com/api_doc """ - self.logDebug("JSON request: " + json.dumps(kwargs)) - resp = self.load(self.API_URL, post=json.dumps(kwargs)) - self.logDebug("API Response: " + resp) - return json.loads(resp) - - - def process(self, pyfile): - - key = None - - # match is guaranteed because plugin was chosen to handle url - node = re.search(self.__pattern__, pyfile.url).group(1) - - - # get Mega.co.nz link info - info = self.callApi(link=node, m="info") - - # get crypted file URL - dl = self.callApi(link=node, m="dl") - - - # TODO: map error codes, implement password protection - # if info["pass"] == true: - # crypted_file_key, md5_file_key = info["key"].split("#") - - - key = self.b64_decode(info["key"]) - - pyfile.name = info["name"] + self.FILE_SUFFIX - - self.download(dl["url"]) - self.decryptFile(key) - - # Everything is finished and final name can be set - pyfile.name = info["name"] - - |