diff options
author | synweap15 <shamdog+github@gmail.com> | 2014-12-30 20:21:23 +0100 |
---|---|---|
committer | synweap15 <shamdog+github@gmail.com> | 2014-12-30 20:21:23 +0100 |
commit | ac9ba34bd5e629ddfbe67dec88ff2e0653e80356 (patch) | |
tree | f77bc281bd083145b19e82bf0e5ff34f5cd6f01a /module/plugins/hoster/LinksnappyCom.py | |
parent | [Oboom] new hoster and account (diff) | |
parent | Update some MultiHoster __pattern__ (diff) | |
download | pyload-ac9ba34bd5e629ddfbe67dec88ff2e0653e80356.tar.xz |
Merge pull request #1 from pyload/stable
Merge
Diffstat (limited to 'module/plugins/hoster/LinksnappyCom.py')
-rw-r--r-- | module/plugins/hoster/LinksnappyCom.py | 83 |
1 files changed, 45 insertions, 38 deletions
diff --git a/module/plugins/hoster/LinksnappyCom.py b/module/plugins/hoster/LinksnappyCom.py index 2ed7744d7..90a47d1ac 100644 --- a/module/plugins/hoster/LinksnappyCom.py +++ b/module/plugins/hoster/LinksnappyCom.py @@ -1,68 +1,75 @@ # -*- coding: utf-8 -*- import re + from urlparse import urlsplit -from module.plugins.Hoster import Hoster from module.common.json_layer import json_loads, json_dumps +from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo + +class LinksnappyCom(MultiHoster): + __name__ = "LinksnappyCom" + __type__ = "hoster" + __version__ = "0.06" -class LinksnappyCom(Hoster): - __name__ = "LinksnappyCom" - __version__ = "0.02" - __type__ = "hoster" __pattern__ = r'https?://(?:[^/]*\.)?linksnappy\.com' + __description__ = """Linksnappy.com hoster plugin""" - __author_name__ = "stickell" - __author_mail__ = "l.stickell@yahoo.it" + __license__ = "GPLv3" + __authors__ = [("stickell", "l.stickell@yahoo.it")] + SINGLE_CHUNK_HOSTERS = ('easybytez.com') + def setup(self): - self.chunkLimit = -1 + self.chunkLimit = -1 self.resumeDownload = True - def process(self, pyfile): - if re.match(self.__pattern__, pyfile.url): - new_url = pyfile.url - elif not self.account: - self.logError(_("Please enter your %s account or deactivate this plugin") % "Linksnappy.com") - self.fail("No Linksnappy.com account provided") - else: - self.logDebug("Old URL: %s" % pyfile.url) - host = self._get_host(pyfile.url) - json_params = json_dumps({'link': pyfile.url, - 'type': host, - 'username': self.user, - 'password': self.account.getAccountData(self.user)["password"]}) - r = self.load('http://gen.linksnappy.com/genAPI.php', - post={'genLinks': json_params}) - self.logDebug("JSON data: " + r) - j = json_loads(r)['links'][0] + def handlePremium(self): + host = self._get_host(self.pyfile.url) + json_params = json_dumps({'link': self.pyfile.url, + 'type': host, + 'username': self.user, + 'password': self.account.getAccountData(self.user)['password']}) + r = self.load('http://gen.linksnappy.com/genAPI.php', + post={'genLinks': json_params}) + self.logDebug("JSON data: " + r) - if j['error']: - self.logError('Error converting the link: %s' % j['error']) - self.fail('Error converting the link') + j = json_loads(r)['links'][0] - pyfile.name = j['filename'] - new_url = j['generated'] + if j['error']: + msg = _("Error converting the link") + self.logError(msg, j['error']) + self.fail(msg) - if host in self.SINGLE_CHUNK_HOSTERS: - self.chunkLimit = 1 - else: - self.setup() + self.pyfile.name = j['filename'] + self.link = j['generated'] - if new_url != pyfile.url: - self.logDebug("New URL: " + new_url) + if host in self.SINGLE_CHUNK_HOSTERS: + self.chunkLimit = 1 + else: + self.setup() - self.download(new_url, disposition=True) + if self.link != self.pyfile.url: + self.logDebug("New URL: " + self.link) + + + def checkFile(self): + super(LinksnappyCom, self).checkFile() check = self.checkDownload({"html302": "<title>302 Found</title>"}) + if check == "html302": - self.retry(wait_time=5, reason="Linksnappy returns only HTML data.") + self.retry(wait_time=5, reason=_("Linksnappy returns only HTML data")) + @staticmethod def _get_host(url): host = urlsplit(url).netloc return re.search(r'[\w-]+\.\w+$', host).group(0) + + +getInfo = create_getInfo(LinksnappyCom) |