summaryrefslogtreecommitdiffstats
path: root/pyload/plugins/hoster/SpeedyshareCom.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyload/plugins/hoster/SpeedyshareCom.py')
-rw-r--r--pyload/plugins/hoster/SpeedyshareCom.py46
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)