summaryrefslogtreecommitdiffstats
path: root/module/plugins
diff options
context:
space:
mode:
authorGravatar Stefano <l.stickell@yahoo.it> 2013-02-21 22:19:20 +0100
committerGravatar Stefano <l.stickell@yahoo.it> 2013-02-21 22:19:20 +0100
commit2d8da79200604a4672daf0b0fb07e8aed3ae2b22 (patch)
tree3a73e45a09a2c419242011505b38461c53af16f1 /module/plugins
parentSpeedLoadOrg: Detect offline files (diff)
downloadpyload-2d8da79200604a4672daf0b0fb07e8aed3ae2b22.tar.xz
SpeedLoadOrg: getInfo now uses API
Diffstat (limited to 'module/plugins')
-rw-r--r--module/plugins/hoster/SpeedLoadOrg.py29
1 files changed, 17 insertions, 12 deletions
diff --git a/module/plugins/hoster/SpeedLoadOrg.py b/module/plugins/hoster/SpeedLoadOrg.py
index 7035812eb..82ed23ad6 100644
--- a/module/plugins/hoster/SpeedLoadOrg.py
+++ b/module/plugins/hoster/SpeedLoadOrg.py
@@ -8,19 +8,30 @@ 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.05"
+ __version__ = "0.06"
__description__ = """Speedload.org hoster plugin"""
__author_name__ = ("z00nx", "stickell")
__author_mail__ = ("z00nx0@gmail.com", "l.stickell@yahoo.it")
@@ -32,9 +43,8 @@ class SpeedLoadOrg(SimpleHoster):
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)
@@ -50,8 +60,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']