diff options
author | Walter Purcaro <vuolter@users.noreply.github.com> | 2015-07-07 01:23:55 +0200 |
---|---|---|
committer | Walter Purcaro <vuolter@users.noreply.github.com> | 2015-07-07 01:23:55 +0200 |
commit | b1759bc440cd6013837697eb8de540914f693ffd (patch) | |
tree | d170caf63d7f65e44d23ea2d91a65759a1665928 /module/plugins/internal/Account.py | |
parent | [Plugin] Fix decoding in load method (diff) | |
download | pyload-b1759bc440cd6013837697eb8de540914f693ffd.tar.xz |
No camelCase style anymore
Diffstat (limited to 'module/plugins/internal/Account.py')
-rw-r--r-- | module/plugins/internal/Account.py | 108 |
1 files changed, 64 insertions, 44 deletions
diff --git a/module/plugins/internal/Account.py b/module/plugins/internal/Account.py index d2efe7996..9e0efaee6 100644 --- a/module/plugins/internal/Account.py +++ b/module/plugins/internal/Account.py @@ -16,7 +16,7 @@ class WrongPassword(Exception): class Account(Plugin): __name__ = "Account" __type__ = "account" - __version__ = "0.03" + __version__ = "0.04" __description__ = """Base account plugin""" __license__ = "GPLv3" @@ -37,7 +37,7 @@ class Account(Plugin): self.init() - self.setAccounts(accounts) + self.set_accounts(accounts) def init(self): @@ -60,18 +60,18 @@ class Account(Plugin): #: set timestamp for login self.timestamps[user] = time.time() - req = self.getAccountRequest(user) + req = self.get_account_request(user) try: self.login(user, data, req) except WrongPassword: - self.logWarning( + self.log_warning( _("Could not login with account %(user)s | %(msg)s") % {"user": user, "msg": _("Wrong Password")}) success = data['valid'] = False except Exception, e: - self.logWarning( + self.log_warning( _("Could not login with account %(user)s | %(msg)s") % {"user": user, "msg": e}) success = data['valid'] = False @@ -88,7 +88,7 @@ class Account(Plugin): def relogin(self, user): - req = self.getAccountRequest(user) + req = self.get_account_request(user) if req: req.cj.clear() req.close() @@ -98,14 +98,14 @@ class Account(Plugin): return self._login(user, self.accounts[user]) - def setAccounts(self, accounts): + def set_accounts(self, accounts): self.accounts = accounts for user, data in self.accounts.iteritems(): self._login(user, data) self.infos[user] = {} - def updateAccounts(self, user, password=None, options={}): + def update_accounts(self, user, password=None, options={}): """ Updates account and return true if anything changed """ @@ -125,7 +125,12 @@ class Account(Plugin): return True - def removeAccount(self, user): + #: Deprecated method, use `update_accounts` instead + def updateAccounts(self, *args, **kwargs): + return self.update_accounts(*args, **kwargs) + + + def remove_account(self, user): if user in self.accounts: del self.accounts[user] if user in self.infos: @@ -134,28 +139,33 @@ class Account(Plugin): del self.timestamps[user] + #: Deprecated method, use `remove_account` instead + def removeAccount(self, *args, **kwargs): + return self.remove_account(*args, **kwargs) + + @lock - def getAccountInfo(self, name, force=False): + def get_account_info(self, name, force=False): """ Retrieve account infos for an user, do **not** overwrite this method!\\ - just use it to retrieve infos in hoster plugins. see `loadAccountInfo` + just use it to retrieve infos in hoster plugins. see `load_account_info` :param name: username :param force: reloads cached account information :return: dictionary with information """ - data = Account.loadAccountInfo(self, name) + data = Account.load_account_info(self, name) if force or name not in self.infos: - self.logDebug("Get Account Info for %s" % name) - req = self.getAccountRequest(name) + self.log_debug("Get Account Info for %s" % name) + req = self.get_account_request(name) try: - infos = self.loadAccountInfo(name, req) + infos = self.load_account_info(name, req) if not type(infos) == dict: raise Exception("Wrong return format") except Exception, e: - infos = super(self.__class__, self).loadAccountInfo(name, req) + infos = super(self.__class__, self).load_account_info(name, req) infos['error'] = str(e) if self.core.debug: @@ -164,24 +174,24 @@ class Account(Plugin): if req: req.close() - self.logDebug("Account Info: %s" % infos) + self.log_debug("Account Info: %s" % infos) infos['timestamp'] = time.time() self.infos[name] = infos elif "timestamp" in self.infos[name] and self.infos[name]['timestamp'] + self.info_threshold * 60 < time.time(): - self.logDebug("Reached timeout for account data") - self.scheduleRefresh(name) + self.log_debug("Reached timeout for account data") + self.schedule_refresh(name) data.update(self.infos[name]) return data - def isPremium(self, user): - info = self.getAccountInfo(user) + def is_premium(self, user): + info = self.get_account_info(user) return info['premium'] - def loadAccountInfo(self, name, req=None): + def load_account_info(self, name, req=None): """ This should be overwritten in account plugin,\ and retrieving account information for user @@ -202,20 +212,25 @@ class Account(Plugin): "type" : self.__name__} - def getAllAccounts(self, force=False): - return [self.getAccountInfo(user, force) for user, data in self.accounts.iteritems()] + def get_all_accounts(self, force=False): + return [self.get_account_info(user, force) for user, data in self.accounts.iteritems()] - def getAccountRequest(self, user=None): + #: Deprecated method, use `get_all_accounts` instead + def getAllAccounts(self, *args, **kwargs): + return self.get_all_accounts(*args, **kwargs) + + + def get_account_request(self, user=None): if not user: - user, data = self.selectAccount() + user, data = self.select_account() return self.core.requestFactory.getRequest(self.__name__, user) - def getAccountCookies(self, user=None): + def get_account_cookies(self, user=None): if not user: - user, data = self.selectAccount() + user, data = self.select_account() if not user: return None @@ -223,11 +238,11 @@ class Account(Plugin): return cj - def getAccountData(self, user): + def get_account_data(self, user): return self.accounts[user] - def selectAccount(self): + def select_account(self): """ Returns an valid account name and data """ @@ -244,7 +259,7 @@ class Account(Plugin): if not compare_time(start.split(":"), end.split(":")): continue except Exception: - self.logWarning(_("Your Time %s has wrong format, use: 1:22-3:44") % time_data) + self.log_warning(_("Your Time %s has wrong format, use: 1:22-3:44") % time_data) if user in self.infos: if "validuntil" in self.infos[user]: @@ -262,52 +277,57 @@ class Account(Plugin): return random.choice(usable) - def canUse(self): - return self.selectAccount() != (None, None) + def can_use(self): + return self.select_account() != (None, None) - def parseTraffic(self, value, unit=None): #: return kilobytes + def parse_traffic(self, value, unit=None): #: return kilobytes if not unit and not isinstance(value, basestring): unit = "KB" return parseFileSize(value, unit) - def wrongPassword(self): + def wrong_password(self): raise WrongPassword def empty(self, user): if user in self.infos: - self.logWarning(_("Account %s has not enough traffic, checking again in 30min") % user) + self.log_warning(_("Account %s has not enough traffic, checking again in 30min") % user) self.infos[user].update({"trafficleft": 0}) - self.scheduleRefresh(user, 30 * 60) + self.schedule_refresh(user, 30 * 60) def expired(self, user): if user in self.infos: - self.logWarning(_("Account %s is expired, checking again in 1h") % user) + self.log_warning(_("Account %s is expired, checking again in 1h") % user) self.infos[user].update({"validuntil": time.time() - 1}) - self.scheduleRefresh(user, 60 * 60) + self.schedule_refresh(user, 60 * 60) - def scheduleRefresh(self, user, time=0, force=True): + def schedule_refresh(self, user, time=0, force=True): """ Add task to refresh account info to sheduler """ - self.logDebug("Scheduled Account refresh for %s in %s seconds." % (user, time)) - self.core.scheduler.addJob(time, self.getAccountInfo, [user, force]) + self.log_debug("Scheduled Account refresh for %s in %s seconds." % (user, time)) + self.core.scheduler.addJob(time, self.get_account_info, [user, force]) + + + #: Deprecated method, use `schedule_refresh` instead + def scheduleRefresh(self, *args, **kwargs): + return self.schedule_refresh(*args, **kwargs) @lock - def checkLogin(self, user): + def check_login(self, user): """ Checks if user is still logged in """ if user in self.timestamps: if self.login_timeout > 0 and self.timestamps[user] + self.login_timeout * 60 < time.time(): - self.logDebug("Reached login timeout for %s" % user) + self.log_debug("Reached login timeout for %s" % user) return self.relogin(user) else: return True |