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) | 
