diff options
Diffstat (limited to 'pyload/plugins/account/UnrestrictLi.py')
| -rw-r--r-- | pyload/plugins/account/UnrestrictLi.py | 44 | 
1 files changed, 44 insertions, 0 deletions
| diff --git a/pyload/plugins/account/UnrestrictLi.py b/pyload/plugins/account/UnrestrictLi.py new file mode 100644 index 000000000..30144ca65 --- /dev/null +++ b/pyload/plugins/account/UnrestrictLi.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- + +from pyload.plugins.internal.Account import Account +from pyload.utils import json_loads + + +class UnrestrictLi(Account): +    __name__    = "UnrestrictLi" +    __type__    = "account" +    __version__ = "0.03" + +    __description__ = """Unrestrict.li account plugin""" +    __license__     = "GPLv3" +    __authors__     = [("stickell", "l.stickell@yahoo.it")] + + +    def loadAccountInfo(self, user, req): +        json_data = req.load('http://unrestrict.li/api/jdownloader/user.php?format=json') +        self.logDebug("JSON data: " + json_data) +        json_data = json_loads(json_data) + +        if 'vip' in json_data['result'] and json_data['result']['vip'] == 0: +            return {"premium": False} + +        validuntil = json_data['result']['expires'] +        trafficleft = int(json_data['result']['traffic']) + +        return {"premium": True, "validuntil": validuntil, "trafficleft": trafficleft} + + +    def login(self, user, data, req): +        req.cj.setCookie("unrestrict.li", "lang", "EN") +        html = req.load("https://unrestrict.li/sign_in") + +        if 'solvemedia' in html: +            self.logError(_("A Captcha is required. Go to http://unrestrict.li/sign_in and login, then retry")) +            return + +        post_data = {"username": user, "password": data['password'], +                     "remember_me": "remember", "signin": "Sign in"} +        html = req.load("https://unrestrict.li/sign_in", post=post_data) + +        if 'sign_out' not in html: +            self.wrongPassword() | 
