diff options
Diffstat (limited to 'module/plugins/accounts/RapidshareCom.py')
-rw-r--r-- | module/plugins/accounts/RapidshareCom.py | 57 |
1 files changed, 24 insertions, 33 deletions
diff --git a/module/plugins/accounts/RapidshareCom.py b/module/plugins/accounts/RapidshareCom.py index c9766cd57..ccc0d0fb2 100644 --- a/module/plugins/accounts/RapidshareCom.py +++ b/module/plugins/accounts/RapidshareCom.py @@ -27,44 +27,35 @@ class RapidshareCom(Account): __author_name__ = ("mkaay") __author_mail__ = ("mkaay@mkaay.de") - def getAccountInfo(self, user): - try: - data = None - for account in self.accounts.items(): - if account[0] == user: - data = account[1] - if not data: - raise Exception - req = self.core.requestFactory.getRequest(self.__name__, user) - api_url_base = "http://api.rapidshare.com/cgi-bin/rsapi.cgi" - api_param_prem = {"sub": "getaccountdetails_v1", "type": "prem", "login": user, "password": data["password"], "withcookie": 1} - src = req.load(api_url_base, cookies=False, get=api_param_prem) - if src.startswith("ERROR"): - raise Exception - fields = src.split("\n") - info = {} - for t in fields: - if not t.strip(): - continue - k, v = t.split("=") - info[k] = v - - out = Account.getAccountInfo(self, user) - restkb = int(info["tskb"]) - maxtraffic = int(info["rapids"])/14 * (5*1024*1024) + restkb - tmp = {"validuntil":int(info["billeduntil"]), "trafficleft":maxtraffic if int(info["autorefill"]) else restkb, "maxtraffic":maxtraffic} - out.update(tmp) - return out - except: - return Account.getAccountInfo(self, user) + def loadAccountInfo(self, user): + data = self.getAccountData(user) + req = self.getAccountRequest(user) + api_url_base = "http://api.rapidshare.com/cgi-bin/rsapi.cgi" + api_param_prem = {"sub": "getaccountdetails_v1", "type": "prem", "login": user, "password": data["password"], "withcookie": 1} + src = req.load(api_url_base, cookies=False, get=api_param_prem) + if src.startswith("ERROR"): + raise Exception(src) + fields = src.split("\n") + info = {} + for t in fields: + if not t.strip(): + continue + k, v = t.split("=") + info[k] = v + + restkb = int(info["tskb"]) + maxtraffic = int(info["rapids"])/14 * (5*1024*1024) + restkb + tmp = {"validuntil":int(info["billeduntil"]), "trafficleft":maxtraffic if int(info["autorefill"]) else restkb, "maxtraffic":maxtraffic} + + return tmp def login(self, user, data): - req = self.core.requestFactory.getRequest(self.__name__, user) + req = self.getAccountRequest(user) api_url_base = "http://api.rapidshare.com/cgi-bin/rsapi.cgi" api_param_prem = {"sub": "getaccountdetails_v1", "type": "prem", "login": user, "password": data["password"], "withcookie": 1} src = req.load(api_url_base, cookies=False, get=api_param_prem) if src.startswith("ERROR"): - return + raise Exception(src) fields = src.split("\n") info = {} for t in fields: @@ -72,7 +63,7 @@ class RapidshareCom(Account): continue k, v = t.split("=") info[k] = v - cj = self.core.requestFactory.getCookieJar(self.__name__, user) + cj = self.getAccountCookies(user) cj.setCookie("rapidshare.com", "enc", info["cookie"]) |