summaryrefslogtreecommitdiffstats
path: root/module/plugins/crypter/MediafireComFolder.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/crypter/MediafireComFolder.py')
-rw-r--r--module/plugins/crypter/MediafireComFolder.py53
1 files changed, 27 insertions, 26 deletions
diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py
index 46856229c..d1dc89518 100644
--- a/module/plugins/crypter/MediafireComFolder.py
+++ b/module/plugins/crypter/MediafireComFolder.py
@@ -7,51 +7,52 @@ from module.common.json_layer import json_loads
class MediafireComFolder(Crypter):
- __name__ = "MediafireComFolder"
- __type__ = "crypter"
- __pattern__ = r'http://(?:www\.)?mediafire\.com/(folder/|\?sharekey=|\?\w{13}($|[/#]))'
+ __name__ = "MediafireComFolder"
+ __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"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __license__ = "GPLv3"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
- FOLDER_KEY_PATTERN = r"var afI= '(\w+)';"
- FILE_URL_PATTERN = '<meta property="og:url" content="http://www.mediafire.com/\?(\w+)"/>'
- def decrypt(self, pyfile):
- new_links = []
+ 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))
+ self.logDebug("Location (%d): %s" % (result, url))
if result == 0:
- # load and parse html
+ # load and parse html
html = self.load(pyfile.url)
- found = re.search(self.FILE_URL_PATTERN, html)
- if found:
+ m = re.search(self.LINK_PATTERN, html)
+ if m:
# file page
- new_links.append("http://www.mediafire.com/file/%s" % found.group(1))
+ self.urls.append("http://www.mediafire.com/file/%s" % m.group(1))
else:
# folder page
- found = re.search(self.FOLDER_KEY_PATTERN, html)
- if found:
- folder_key = found.group(1)
+ 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))
+ json_resp = json_loads(self.load("http://www.mediafire.com/api/folder/get_info.php",
+ get={'folder_key' : folder_key,
+ 'response_format': "json",
+ 'version' : 1}))
#self.logInfo(json_resp)
if json_resp['response']['result'] == "Success":
for link in json_resp['response']['folder_info']['files']:
- new_links.append("http://www.mediafire.com/file/%s" % link['quickkey'])
+ self.urls.append("http://www.mediafire.com/file/%s" % link['quickkey'])
else:
self.fail(json_resp['response']['message'])
elif result == 1:
self.offline()
else:
- new_links.append(url)
-
- if new_links:
- self.core.files.addLinks(new_links, pyfile.package().id)
- else:
- self.fail('Could not extract any links')
+ self.urls.append(url)