diff options
Diffstat (limited to 'pyload/plugins/hoster/SpeedyshareCom.py')
-rw-r--r-- | pyload/plugins/hoster/SpeedyshareCom.py | 46 |
1 files changed, 27 insertions, 19 deletions
diff --git a/pyload/plugins/hoster/SpeedyshareCom.py b/pyload/plugins/hoster/SpeedyshareCom.py index ed6fc443f..42bb3e453 100644 --- a/pyload/plugins/hoster/SpeedyshareCom.py +++ b/pyload/plugins/hoster/SpeedyshareCom.py @@ -1,43 +1,51 @@ # -*- coding: utf-8 -*- - -# Testlink: +# +# Test links: # http://speedy.sh/ep2qY/Zapp-Brannigan.jpg import re +from urlparse import urljoin + from pyload.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class SpeedyshareCom(SimpleHoster): __name__ = "SpeedyshareCom" __type__ = "hoster" - __pattern__ = r"https?://(www\.)?(speedyshare.com|speedy.sh)/.*" - __version__ = "0.01" - __description__ = """speedyshare.com hoster plugin""" - __author_name__ = ("zapp-brannigan") - __author_mail__ = ("fuerst.reinje@web.de") + __version__ = "0.02" + + __pattern__ = r"https?://(www\.)?(speedyshare\.com|speedy\.sh)/\w+" + + __description__ = """Speedyshare.com hoster plugin""" + __author_name__ = "zapp-brannigan" + __author_mail__ = "fuerst.reinje@web.de" + FILE_NAME_PATTERN = r'class=downloadfilename>(?P<N>.*)</span></td>' FILE_SIZE_PATTERN = r'class=sizetagtext>(?P<S>.*) (?P<U>[kKmM]?[iI]?[bB]?)</div>' - LINK_PATTERN = r'<a href=\'(.*)\'><img src=/gf/slowdownload.png alt=\'Slow Download\' border=0' + FILE_OFFLINE_PATTERN = r'class=downloadfilenamenotfound>.*</span>' - BASE_URL = 'www.speedyshare.com' + + LINK_PATTERN = r'<a href=\'(.*)\'><img src=/gf/slowdownload.png alt=\'Slow Download\' border=0' + def setup(self): self.multiDL = False self.chunkLimit = 1 - def process(self, pyfile): - self.html = self.load(pyfile.url, decode=True) - try: - dl_link = re.search(self.LINK_PATTERN, self.html).group(1) - self.logDebug("Link: " + dl_link) - except: - self.parseError("Unable to find download link") - self.download(self.BASE_URL + dl_link, disposition=True) - check = self.checkDownload({"is_html": re.compile("html")}) + + def handleFree(self): + m = re.search(self.LINK_PATTERN, self.html) + if m is None: + self.parseError("Download link not found") + + dl_link = urljoin("http://www.speedyshare.com", m.group(1)) + self.download(dl_link, disposition=True) + + check = self.checkDownload({'is_html': re.compile("html")}) if check == "is_html": - self.fail("The downloaded file is html, maybe the plugin is out of date") + self.parseError("Downloaded file is an html file") getInfo = create_getInfo(SpeedyshareCom) |