diff options
Diffstat (limited to 'module/plugins/hoster/LinksnappyCom.py')
| -rw-r--r-- | module/plugins/hoster/LinksnappyCom.py | 74 | 
1 files changed, 28 insertions, 46 deletions
| diff --git a/module/plugins/hoster/LinksnappyCom.py b/module/plugins/hoster/LinksnappyCom.py index 57acac758..5b0fab43a 100644 --- a/module/plugins/hoster/LinksnappyCom.py +++ b/module/plugins/hoster/LinksnappyCom.py @@ -4,73 +4,55 @@ import re  from urlparse import urlsplit -from pyload.utils import json_loads, json_dumps -from pyload.plugin.Hoster import Hoster +from module.common.json_layer import json_loads, json_dumps +from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo -class LinksnappyCom(Hoster): +class LinksnappyCom(MultiHoster):      __name__    = "LinksnappyCom"      __type__    = "hoster" -    __version__ = "0.02" +    __version__ = "0.08" -    __pattern__ = r'https?://(?:[^/]*\.)?linksnappy\.com' +    __pattern__ = r'https?://(?:[^/]+\.)?linksnappy\.com' -    __description__ = """Linksnappy.com hoster plugin""" +    __description__ = """Linksnappy.com multi-hoster plugin"""      __license__     = "GPLv3"      __authors__     = [("stickell", "l.stickell@yahoo.it")] -    SINGLE_CHUNK_HOSTERS = ('easybytez.com') +    SINGLE_CHUNK_HOSTERS = ["easybytez.com"] -    def setup(self): -        self.chunkLimit = -1 -        self.resumeDownload = True +    def handlePremium(self, pyfile): +        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}) -    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] - -            if j['error']: -                msg = _("Error converting the link") -                self.logError(msg, j['error']) -                self.fail(msg) - -            pyfile.name = j['filename'] -            new_url = j['generated'] +        self.logDebug("JSON data: " + r) -            if host in self.SINGLE_CHUNK_HOSTERS: -                self.chunkLimit = 1 -            else: -                self.setup() +        j = json_loads(r)['links'][0] -        if new_url != pyfile.url: -            self.logDebug("New URL: " + new_url) +        if j['error']: +            self.error(_("Error converting the link")) -        self.download(new_url, disposition=True) +        pyfile.name = j['filename'] +        self.link   = j['generated'] -        check = self.checkDownload({"html302": "<title>302 Found</title>"}) -        if check == "html302": -            self.retry(wait_time=5, reason=_("Linksnappy returns only HTML data")) +        if host in self.SINGLE_CHUNK_HOSTERS: +            self.chunkLimit = 1 +        else: +            self.setup()      @staticmethod      def _get_host(url):          host = urlsplit(url).netloc          return re.search(r'[\w-]+\.\w+$', host).group(0) + + +getInfo = create_getInfo(LinksnappyCom) | 
