diff options
author | ardi69 <armin@diedering.de> | 2015-04-18 14:08:18 +0200 |
---|---|---|
committer | ardi69 <armin@diedering.de> | 2015-04-18 14:08:18 +0200 |
commit | 6e8f84e1dc06cff6fa9387559992f555182c1774 (patch) | |
tree | 476600f9896fae029880e4049eb4c5e6021b202d /pyload/api | |
parent | fix: config cast (diff) | |
parent | Spare code cosmetics (5) (diff) | |
download | pyload-6e8f84e1dc06cff6fa9387559992f555182c1774.tar.xz |
Merge pull request #3 from vuolter/0.4.10
merge vuolter HEAD
Diffstat (limited to 'pyload/api')
-rw-r--r-- | pyload/api/__init__.py | 106 | ||||
-rw-r--r-- | pyload/api/types.py | 25 |
2 files changed, 78 insertions, 53 deletions
diff --git a/pyload/api/__init__.py b/pyload/api/__init__.py index 461c77cac..62af70cf8 100644 --- a/pyload/api/__init__.py +++ b/pyload/api/__init__.py @@ -92,65 +92,65 @@ class Api(Iface): def _convertPyFile(self, p): - fdata = FileData(p["id"], p["url"], p["name"], p["plugin"], p["size"], - p["format_size"], p["status"], p["statusmsg"], - p["package"], p["error"], p["order"]) + fdata = FileData(p['id'], p['url'], p['name'], p['plugin'], p['size'], + p['format_size'], p['status'], p['statusmsg'], + p['package'], p['error'], p['order']) return fdata def _convertConfigFormat(self, c): sections = {} for sectionName, sub in c.iteritems(): - section = ConfigSection(sectionName, sub["desc"]) + section = ConfigSection(sectionName, sub['desc']) items = [] for key, data in sub.iteritems(): if key in ("desc", "outline"): continue item = ConfigItem() item.name = key - item.description = data["desc"] - item.value = str(data["value"]) if not isinstance(data["value"], basestring) else data["value"] - item.type = data["type"] + item.description = data['desc'] + item.value = str(data['value']) if not isinstance(data['value'], basestring) else data['value'] + item.type = data['type'] items.append(item) section.items = items sections[sectionName] = section if "outline" in sub: - section.outline = sub["outline"] + section.outline = sub['outline'] return sections @permission(PERMS.SETTINGS) - def getConfigValue(self, category, option, section="core"): + def getConfigValue(self, section, option, section="core"): """Retrieve config value. - :param category: name of category, or plugin + :param section: name of section, or plugin :param option: config option :param section: 'plugin' or 'core' :return: config value as string """ if section == "core": - value = self.core.config.get(category, option) + value = self.core.config.get(section, option) else: - value = self.core.config.getPlugin(category, option) + value = self.core.config.getPlugin(section, option) return str(value) @permission(PERMS.SETTINGS) - def setConfigValue(self, category, option, value, section="core"): + def setConfigValue(self, section, option, value, section="core"): """Set new config value. - :param category: + :param section: :param option: :param value: new config value :param section: 'plugin' or 'core """ - self.core.addonManager.dispatchEvent("config-changed", category, option, value, section) + self.core.addonManager.dispatchEvent("config-changed", section, option, value, section) if section == "core": - self.core.config[category][option] = value + self.core.config.set(section, option, value) if option in ("limit_speed", "max_speed"): # not so nice to update the limit self.core.requestFactory.updateBucket() elif section == "plugin": - self.core.config.setPlugin(category, option, value) + self.core.config.setPlugin(section, option, value) @permission(PERMS.SETTINGS) @@ -424,7 +424,7 @@ class Api(Iface): """ result = self.core.threadManager.getInfoResult(rid) if "ALL_INFO_FETCHED" in result: - del result["ALL_INFO_FETCHED"] + del result['ALL_INFO_FETCHED'] return OnlineCheck(-1, result) else: return OnlineCheck(rid, result) @@ -475,9 +475,9 @@ class Api(Iface): data = self.core.files.getPackageData(int(pid)) if not data: raise PackageDoesNotExists(pid) - return PackageData(data["id"], data["name"], data["folder"], data["site"], data["password"], - data["queue"], data["order"], - links=[self._convertPyFile(x) for x in data["links"].itervalues()]) + return PackageData(data['id'], data['name'], data['folder'], data['site'], data['password'], + data['queue'], data['order'], + links=[self._convertPyFile(x) for x in data['links'].itervalues()]) @permission(PERMS.LIST) @@ -491,9 +491,9 @@ class Api(Iface): if not data: raise PackageDoesNotExists(pid) - return PackageData(data["id"], data["name"], data["folder"], data["site"], data["password"], - data["queue"], data["order"], - fids=[int(x) for x in data["links"]]) + return PackageData(data['id'], data['name'], data['folder'], data['site'], data['password'], + data['queue'], data['order'], + fids=[int(x) for x in data['links']]) @permission(PERMS.LIST) @@ -538,10 +538,10 @@ class Api(Iface): :return: list of `PackageInfo` """ - return [PackageData(pack["id"], pack["name"], pack["folder"], pack["site"], - pack["password"], pack["queue"], pack["order"], - pack["linksdone"], pack["sizedone"], pack["sizetotal"], - pack["linkstotal"]) + return [PackageData(pack['id'], pack['name'], pack['folder'], pack['site'], + pack['password'], pack['queue'], pack['order'], + pack['linksdone'], pack['sizedone'], pack['sizetotal'], + pack['linkstotal']) for pack in self.core.files.getInfoData(Destination.Queue).itervalues()] @@ -552,10 +552,10 @@ class Api(Iface): :return: list of `PackageData` """ - return [PackageData(pack["id"], pack["name"], pack["folder"], pack["site"], - pack["password"], pack["queue"], pack["order"], - pack["linksdone"], pack["sizedone"], pack["sizetotal"], - links=[self._convertPyFile(x) for x in pack["links"].itervalues()]) + return [PackageData(pack['id'], pack['name'], pack['folder'], pack['site'], + pack['password'], pack['queue'], pack['order'], + pack['linksdone'], pack['sizedone'], pack['sizetotal'], + links=[self._convertPyFile(x) for x in pack['links'].itervalues()]) for pack in self.core.files.getCompleteData(Destination.Queue).itervalues()] @@ -565,10 +565,10 @@ class Api(Iface): :return: list of `PackageInfo` """ - return [PackageData(pack["id"], pack["name"], pack["folder"], pack["site"], - pack["password"], pack["queue"], pack["order"], - pack["linksdone"], pack["sizedone"], pack["sizetotal"], - pack["linkstotal"]) + return [PackageData(pack['id'], pack['name'], pack['folder'], pack['site'], + pack['password'], pack['queue'], pack['order'], + pack['linksdone'], pack['sizedone'], pack['sizetotal'], + pack['linkstotal']) for pack in self.core.files.getInfoData(Destination.Collector).itervalues()] @@ -578,10 +578,10 @@ class Api(Iface): :return: list of `PackageInfo` """ - return [PackageData(pack["id"], pack["name"], pack["folder"], pack["site"], - pack["password"], pack["queue"], pack["order"], - pack["linksdone"], pack["sizedone"], pack["sizetotal"], - links=[self._convertPyFile(x) for x in pack["links"].itervalues()]) + return [PackageData(pack['id'], pack['name'], pack['folder'], pack['site'], + pack['password'], pack['queue'], pack['order'], + pack['linksdone'], pack['sizedone'], pack['sizetotal'], + links=[self._convertPyFile(x) for x in pack['links'].itervalues()]) for pack in self.core.files.getCompleteData(Destination.Collector).itervalues()] @@ -777,9 +777,9 @@ class Api(Iface): order = {} for pid in packs: pack = self.core.files.getPackageData(int(pid)) - while pack["order"] in order.keys(): # just in case - pack["order"] += 1 - order[pack["order"]] = pack["id"] + while pack['order'] in order.keys(): # just in case + pack['order'] += 1 + order[pack['order']] = pack['id'] return order @@ -792,10 +792,10 @@ class Api(Iface): """ rawdata = self.core.files.getPackageData(int(pid)) order = {} - for id, pyfile in rawdata["links"].iteritems(): - while pyfile["order"] in order.keys(): # just in case - pyfile["order"] += 1 - order[pyfile["order"]] = pyfile["id"] + for id, pyfile in rawdata['links'].iteritems(): + while pyfile['order'] in order.keys(): # just in case + pyfile['order'] += 1 + order[pyfile['order']] = pyfile['id'] return order @@ -894,8 +894,8 @@ class Api(Iface): """ accs = self.core.accountManager.getAccountInfos(False, refresh) for group in accs.values(): - accounts = [AccountInfo(acc["validuntil"], acc["login"], acc["options"], acc["valid"], - acc["trafficleft"], acc["maxtraffic"], acc["premium"], acc["type"]) + accounts = [AccountInfo(acc['validuntil'], acc['login'], acc['options'], acc['valid'], + acc['trafficleft'], acc['maxtraffic'], acc['premium'], acc['type']) for acc in group] return accounts or [] @@ -958,9 +958,9 @@ class Api(Iface): :param userdata: dictionary of user data :return: boolean """ - if userdata == "local" or userdata["role"] == ROLE.ADMIN: + if userdata == "local" or userdata['role'] == ROLE.ADMIN: return True - elif func in permMap and has_permission(userdata["permission"], permMap[func]): + elif func in permMap and has_permission(userdata['permission'], permMap[func]): return True else: return False @@ -971,14 +971,14 @@ class Api(Iface): """similar to `checkAuth` but returns UserData thrift type """ user = self.checkAuth(username, password) if user: - return UserData(user["name"], user["email"], user["role"], user["permission"], user["template"]) + return UserData(user['name'], user['email'], user['role'], user['permission'], user['template']) else: return UserData() def getAllUserData(self): """returns all known user and info""" - return dict((user, UserData(user, data["email"], data["role"], data["permission"], data["template"])) for user, data + return dict((user, UserData(user, data['email'], data['role'], data['permission'], data['template'])) for user, data in self.core.db.getAllUserData().iteritems()) diff --git a/pyload/api/types.py b/pyload/api/types.py index 10a64a813..2fd089333 100644 --- a/pyload/api/types.py +++ b/pyload/api/types.py @@ -2,13 +2,16 @@ # Autogenerated by pyload # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + class BaseObject(object): __slots__ = [] + class Destination(object): Collector = 0 Queue = 1 + class DownloadStatus(object): Aborted = 9 Custom = 11 @@ -26,10 +29,12 @@ class DownloadStatus(object): Unknown = 14 Waiting = 5 + class ElementType(object): File = 1 Package = 0 + class Input(object): BOOL = 4 CHOICE = 6 @@ -42,11 +47,13 @@ class Input(object): TEXT = 1 TEXTBOX = 2 + class Output(object): CAPTCHA = 1 NOTIFICATION = 4 QUESTION = 2 + class AccountInfo(BaseObject): __slots__ = ['validuntil', 'login', 'options', 'valid', 'trafficleft', 'maxtraffic', 'premium', 'type'] @@ -61,6 +68,7 @@ class AccountInfo(BaseObject): self.premium = premium self.type = type + class CaptchaTask(BaseObject): __slots__ = ['tid', 'data', 'type', 'resultType'] @@ -71,6 +79,7 @@ class CaptchaTask(BaseObject): self.type = type self.resultType = resultType + class ConfigItem(BaseObject): __slots__ = ['name', 'description', 'value', 'type'] @@ -81,6 +90,7 @@ class ConfigItem(BaseObject): self.value = value self.type = type + class ConfigSection(BaseObject): __slots__ = ['name', 'description', 'items', 'outline'] @@ -91,6 +101,7 @@ class ConfigSection(BaseObject): self.items = items self.outline = outline + class DownloadInfo(BaseObject): __slots__ = ['fid', 'name', 'speed', 'eta', 'format_eta', 'bleft', 'size', 'format_size', 'percent', 'status', 'statusmsg', 'format_wait', 'wait_until', 'packageID', 'packageName', 'plugin'] @@ -113,6 +124,7 @@ class DownloadInfo(BaseObject): self.packageName = packageName self.plugin = plugin + class EventInfo(BaseObject): __slots__ = ['eventname', 'id', 'type', 'destination'] @@ -123,6 +135,7 @@ class EventInfo(BaseObject): self.type = type self.destination = destination + class FileData(BaseObject): __slots__ = ['fid', 'url', 'name', 'plugin', 'size', 'format_size', 'status', 'statusmsg', 'packageID', 'error', 'order'] @@ -140,6 +153,7 @@ class FileData(BaseObject): self.error = error self.order = order + class FileDoesNotExists(Exception): __slots__ = ['fid'] @@ -147,6 +161,7 @@ class FileDoesNotExists(Exception): def __init__(self, fid=None): self.fid = fid + class InteractionTask(BaseObject): __slots__ = ['iid', 'input', 'structure', 'preset', 'output', 'data', 'title', 'description', 'plugin'] @@ -162,6 +177,7 @@ class InteractionTask(BaseObject): self.description = description self.plugin = plugin + class OnlineCheck(BaseObject): __slots__ = ['rid', 'data'] @@ -170,6 +186,7 @@ class OnlineCheck(BaseObject): self.rid = rid self.data = data + class OnlineStatus(BaseObject): __slots__ = ['name', 'plugin', 'packagename', 'status', 'size'] @@ -181,6 +198,7 @@ class OnlineStatus(BaseObject): self.status = status self.size = size + class PackageData(BaseObject): __slots__ = ['pid', 'name', 'folder', 'site', 'password', 'dest', 'order', 'linksdone', 'sizedone', 'sizetotal', 'linkstotal', 'links', 'fids'] @@ -200,6 +218,7 @@ class PackageData(BaseObject): self.links = links self.fids = fids + class PackageDoesNotExists(Exception): __slots__ = ['pid'] @@ -207,6 +226,7 @@ class PackageDoesNotExists(Exception): def __init__(self, pid=None): self.pid = pid + class ServerStatus(BaseObject): __slots__ = ['pause', 'active', 'queue', 'total', 'speed', 'download', 'reconnect'] @@ -220,6 +240,7 @@ class ServerStatus(BaseObject): self.download = download self.reconnect = reconnect + class ServiceCall(BaseObject): __slots__ = ['plugin', 'func', 'arguments', 'parseArguments'] @@ -230,6 +251,7 @@ class ServiceCall(BaseObject): self.arguments = arguments self.parseArguments = parseArguments + class ServiceDoesNotExists(Exception): __slots__ = ['plugin', 'func'] @@ -238,6 +260,7 @@ class ServiceDoesNotExists(Exception): self.plugin = plugin self.func = func + class ServiceException(Exception): __slots__ = ['msg'] @@ -245,6 +268,7 @@ class ServiceException(Exception): def __init__(self, msg=None): self.msg = msg + class UserData(BaseObject): __slots__ = ['name', 'email', 'role', 'permission', 'templateName'] @@ -256,6 +280,7 @@ class UserData(BaseObject): self.permission = permission self.templateName = templateName + class Iface(object): def addFiles(self, pid, links): |