diff options
Diffstat (limited to 'module/plugins/container/CCF.py')
-rw-r--r-- | module/plugins/container/CCF.py | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/module/plugins/container/CCF.py b/module/plugins/container/CCF.py index bca535175..235d5dc1d 100644 --- a/module/plugins/container/CCF.py +++ b/module/plugins/container/CCF.py @@ -2,42 +2,46 @@ from __future__ import with_statement +import MultipartPostHandler import re - -from os import makedirs -from os.path import exists -from urllib2 import build_opener - -from MultipartPostHandler import MultipartPostHandler +import urllib2 from module.plugins.Container import Container -from module.utils import save_join +from module.utils import fs_encode, save_join class CCF(Container): __name__ = "CCF" - __version__ = "0.20" + __type__ = "container" + __version__ = "0.23" - __pattern__ = r'.+\.ccf' + __pattern__ = r'.+\.ccf$' __description__ = """CCF container decrypter plugin""" __license__ = "GPLv3" - __authors__ = [("Willnix", "Willnix@pyload.org")] + __authors__ = [("Willnix", "Willnix@pyload.org"), + ("Walter Purcaro", "vuolter@gmail.com")] def decrypt(self, pyfile): - infile = pyfile.url.replace("\n", "") + fs_filename = fs_encode(pyfile.url.strip()) + opener = urllib2.build_opener(MultipartPostHandler.MultipartPostHandler) - opener = build_opener(MultipartPostHandler) - params = {"src": "ccf", - "filename": "test.ccf", - "upload": open(infile, "rb")} - tempdlc_content = opener.open('http://service.jdownloader.net/dlcrypt/getDLC.php', params).read() + dlc_content = opener.open('http://service.jdownloader.net/dlcrypt/getDLC.php', + {'src' : "ccf", + 'filename': "test.ccf", + 'upload' : open(fs_filename, "rb")}).read() download_folder = self.config['general']['download_folder'] + dlc_file = save_join(download_folder, "tmp_%s.dlc" % pyfile.name) + + try: + dlc = re.search(r'<dlc>(.+)</dlc>', dlc_content, re.S).group(1).decode('base64') + + except AttributeError: + self.fail(_("Container is corrupted")) - tempdlc_name = save_join(download_folder, "tmp_%s.dlc" % pyfile.name) - with open(tempdlc_name, "w") as tempdlc: - tempdlc.write(re.search(r'<dlc>(.*)</dlc>', tempdlc_content, re.S).group(1)) + with open(dlc_file, "w") as tempdlc: + tempdlc.write(dlc) - self.urls = [tempdlc_name] + self.urls = [dlc_file] |