diff options
Diffstat (limited to 'module')
| -rw-r--r-- | module/plugins/accounts/LetitbitNet.py | 46 | ||||
| -rw-r--r-- | module/plugins/hoster/LetitbitNet.py | 27 | 
2 files changed, 71 insertions, 2 deletions
| diff --git a/module/plugins/accounts/LetitbitNet.py b/module/plugins/accounts/LetitbitNet.py new file mode 100644 index 000000000..bcc004b91 --- /dev/null +++ b/module/plugins/accounts/LetitbitNet.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- + +############################################################################ +# This program is free software: you can redistribute it and/or modify     # +# it under the terms of the GNU Affero General Public License as           # +# published by the Free Software Foundation, either version 3 of the       # +# License, or (at your option) any later version.                          # +#                                                                          # +# This program is distributed in the hope that it will be useful,          # +# but WITHOUT ANY WARRANTY; without even the implied warranty of           # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            # +# GNU Affero General Public License for more details.                      # +#                                                                          # +# You should have received a copy of the GNU Affero General Public License # +# along with this program.  If not, see <http://www.gnu.org/licenses/>.    # +############################################################################ + +from module.plugins.Account import Account +# from module.common.json_layer import json_loads, json_dumps + + +class LetitbitNet(Account): +    __name__ = "LetitbitNet" +    __version__ = "0.01" +    __type__ = "account" +    __description__ = """Letitbit.net account plugin""" +    __author_name__ = ("stickell") +    __author_mail__ = ("l.stickell@yahoo.it") + +    def loadAccountInfo(self, user, req): +        ## DISABLED BECAUSE IT GET 'key exausted' EVEN IF VALID ## +        # api_key = self.accounts[user]['password'] +        # json_data = [api_key, ["key/info"]] +        # api_rep = req.load('http://api.letitbit.net/json', post={'r': json_dumps(json_data)}) +        # self.logDebug('API Key Info: ' + api_rep) +        # api_rep = json_loads(api_rep) +        # +        # if api_rep['status'] == 'FAIL': +        #     self.logWarning(api_rep['data']) +        #     return {'valid': False, 'premium': False} + +        return {"premium": True} + +    def login(self, user, data, req): +        # API_KEY is the username and the PREMIUM_KEY is the password +        self.logInfo('You must use your API KEY as username and the PREMIUM KEY as password.') diff --git a/module/plugins/hoster/LetitbitNet.py b/module/plugins/hoster/LetitbitNet.py index 8748817eb..c1ef615fd 100644 --- a/module/plugins/hoster/LetitbitNet.py +++ b/module/plugins/hoster/LetitbitNet.py @@ -16,9 +16,15 @@      @author: zoidberg  """ +# API Documentation: +# http://api.letitbit.net/reg/static/api.pdf + +# Test links (random.bin): +# http://letitbit.net/download/07874.0b5709a7d3beee2408bb1f2eefce/random.bin.html +  import re  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo -from module.common.json_layer import json_loads +from module.common.json_layer import json_loads, json_dumps  from module.plugins.internal.CaptchaService import ReCaptcha @@ -26,7 +32,7 @@ class LetitbitNet(SimpleHoster):      __name__ = "LetitbitNet"      __type__ = "hoster"      __pattern__ = r"http://(?:\w*\.)*(letitbit|shareflare).net/download/.*" -    __version__ = "0.20" +    __version__ = "0.21"      __description__ = """letitbit.net"""      __author_name__ = ("zoidberg", "z00nx")      __author_mail__ = ("zoidberg@mujmail.cz", "z00nx0@gmail.com") @@ -121,5 +127,22 @@ class LetitbitNet(SimpleHoster):          else:              self.fail("Download did not finish correctly") +    def handlePremium(self): +        api_key = self.user +        premium_key = self.account.getAccountData(self.user)["password"] + +        json_data = [api_key, ["download/direct_links", {"pass": premium_key, "link": self.pyfile.url}]] +        api_rep = self.load('http://api.letitbit.net/json', post={'r': json_dumps(json_data)}) +        self.logDebug('API Data: ' + api_rep) +        api_rep = json_loads(api_rep) + +        if api_rep['status'] == 'FAIL': +            self.fail(api_rep['data']) + +        direct_link = api_rep['data'][0][0] +        self.logDebug('Direct Link: ' + direct_link) + +        self.download(direct_link, disposition=True) +  getInfo = create_getInfo(LetitbitNet) | 
