diff options
author | Stefano <l.stickell@yahoo.it> | 2013-02-28 20:13:29 +0100 |
---|---|---|
committer | Stefano <l.stickell@yahoo.it> | 2013-02-28 20:13:29 +0100 |
commit | 436ae2009b6f29e6e82914f9c13c54824b92cff1 (patch) | |
tree | e2478082bdaf202acbc64f8c4f3d8ac4a7ab7a1c /module/plugins/hoster/SpeedLoadOrg.py | |
parent | fixed last commit (diff) | |
download | pyload-436ae2009b6f29e6e82914f9c13c54824b92cff1.tar.xz |
SpeedLoadOrg now uses XFileSharingPro
Diffstat (limited to 'module/plugins/hoster/SpeedLoadOrg.py')
-rw-r--r-- | module/plugins/hoster/SpeedLoadOrg.py | 65 |
1 files changed, 11 insertions, 54 deletions
diff --git a/module/plugins/hoster/SpeedLoadOrg.py b/module/plugins/hoster/SpeedLoadOrg.py index a725d9ae0..65eead5a5 100644 --- a/module/plugins/hoster/SpeedLoadOrg.py +++ b/module/plugins/hoster/SpeedLoadOrg.py @@ -1,61 +1,18 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleHoster import SimpleHoster, parseFileInfo -from module.network.RequestFactory import getURL -from module.plugins.ReCaptcha import ReCaptcha -from module.common.json_layer import json_loads -import re +from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo - -def getInfo(urls): - for url in urls: - 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 = (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): +class SpeedLoadOrg(XFileSharingPro): __name__ = "SpeedLoadOrg" __type__ = "hoster" - __pattern__ = r"http://(www\.)?speedload\.org/(?P<ID>\w+).*" - __version__ = "0.06" + __pattern__ = r"http://(www\.)?speedload\.org/(?P<ID>\w+)" + __version__ = "1.00" __description__ = """Speedload.org hoster plugin""" - __author_name__ = ("z00nx", "stickell") - __author_mail__ = ("z00nx0@gmail.com", "l.stickell@yahoo.it") + __author_name__ = ("stickell") + __author_mail__ = ("l.stickell@yahoo.it") + + FILE_NAME_PATTERN = r'Filename:</b></td><td nowrap>(?P<N>[^<]+)</td></tr>' + FILE_SIZE_PATTERN = r'Size:</b></td><td>[\w. ]+<small>\((?P<S>\d+) bytes\)</small>' - 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' + HOSTER_NAME = "speedload.org" - def handleFree(self): - self.api_data = getAPIData(self.pyfile.url) - recaptcha = ReCaptcha(self) - 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) - check = self.checkDownload({ - "html": re.compile("\A<!DOCTYPE html PUBLIC"), - "busy": "You are already downloading a file. Please upgrade to premium.", - "socket": "Could not open socket"}) - if check == "html": - self.logDebug("Wrong captcha entered") - self.invalidCaptcha() - self.retry() - elif check == "busy": - self.retry(10, 300, "Already downloading") - elif check == "socket": - self.fail("Server error: Could not open socket") +getInfo = create_getInfo(SpeedLoadOrg) |