diff options
Diffstat (limited to 'module/plugins/hoster/SpeedLoadOrg.py')
-rw-r--r-- | module/plugins/hoster/SpeedLoadOrg.py | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/module/plugins/hoster/SpeedLoadOrg.py b/module/plugins/hoster/SpeedLoadOrg.py index e74114742..a725d9ae0 100644 --- a/module/plugins/hoster/SpeedLoadOrg.py +++ b/module/plugins/hoster/SpeedLoadOrg.py @@ -8,32 +8,42 @@ import re def getInfo(urls): for url in urls: - header = getURL(url, just_header=True) - if 'Location: http://speedload.org/index.php' in header: - file_info = (url, 0, 1, url) + api_data = getAPIData(url) + online = False if 'File Not Found' in api_data else True + if online: + file_info = (api_data['originalFilename'], api_data['size'], 2 , url) else: - file_info = parseFileInfo(SpeedLoadOrg, url, getURL(url, decode=True)) + file_info = (url, 0, 1 , url) yield file_info +def getAPIData(url): + API_URL = 'http://speedload.org/api/single_link.php?shortUrl=' + + file_id = re.search(SpeedLoadOrg.__pattern__, url).group('ID') + api_data = json_loads(getURL(API_URL + file_id, decode = True)) + if isinstance(api_data, dict): + api_data['size'] = api_data['fileSize'] + + return api_data + class SpeedLoadOrg(SimpleHoster): __name__ = "SpeedLoadOrg" __type__ = "hoster" __pattern__ = r"http://(www\.)?speedload\.org/(?P<ID>\w+).*" - __version__ = "0.04" + __version__ = "0.06" __description__ = """Speedload.org hoster plugin""" __author_name__ = ("z00nx", "stickell") __author_mail__ = ("z00nx0@gmail.com", "l.stickell@yahoo.it") FILE_NAME_PATTERN = '<div class="d_file[^>]+>\s+<div>\s+<div[^>]+>(?P<N>[^<]+)</div>' FILE_SIZE_PATTERN = 'File Size: </span>(?P<S>[^<]+)</span>' + FILE_OFFLINE_PATTERN = '<div class="promo" style="[^"]+">' RECAPTCHA_KEY = '6LenSdkSAAAAAJyoP5jFZl4NNell2r4rzfXRZXGW' - API_URL = 'http://speedload.org/api/single_link.php?shortUrl=' def handleFree(self): - self.getApiData() + self.api_data = getAPIData(self.pyfile.url) recaptcha = ReCaptcha(self) - self.load challenge, response = recaptcha.challenge(self.RECAPTCHA_KEY) post_data = {'recaptcha_challenge_field': challenge, 'recaptcha_response_field': response, 'submit': 'continue', 'submitted': '1', 'd': '1'} self.download(self.pyfile.url, post=post_data) @@ -49,8 +59,3 @@ class SpeedLoadOrg(SimpleHoster): self.retry(10, 300, "Already downloading") elif check == "socket": self.fail("Server error: Could not open socket") - - def getApiData(self): - self.file_id = re.search(self.__pattern__, self.pyfile.url).group('ID') - self.api_data = json_loads(getURL(self.API_URL + self.file_id)) - self.api_data['size'] = self.api_data['fileSize'] |