diff options
author | Walter Purcaro <vuolter@users.noreply.github.com> | 2015-04-13 17:34:59 +0200 |
---|---|---|
committer | Walter Purcaro <vuolter@users.noreply.github.com> | 2015-04-13 17:34:59 +0200 |
commit | 2db634796bd5426c11f7849ce480265091f128c8 (patch) | |
tree | 5a54f7535e9c0ff1ec65f05f347b6eafbb496922 /pyload/api | |
parent | Cleanup (diff) | |
download | pyload-2db634796bd5426c11f7849ce480265091f128c8.tar.xz |
Cleanup (2)
Diffstat (limited to 'pyload/api')
-rw-r--r-- | pyload/api/__init__.py | 202 |
1 files changed, 66 insertions, 136 deletions
diff --git a/pyload/api/__init__.py b/pyload/api/__init__.py index 0b63995a3..8c114cea4 100644 --- a/pyload/api/__init__.py +++ b/pyload/api/__init__.py @@ -118,9 +118,8 @@ class Api(Iface): section.outline = sub["outline"] return sections - @permission(PERMS.SETTINGS) - + @permission(PERMS.SETTINGS) def getConfigValue(self, category, option, section="core"): """Retrieve config value. @@ -135,9 +134,8 @@ class Api(Iface): value = self.core.config.getPlugin(category, option) return str(value) - @permission(PERMS.SETTINGS) - + @permission(PERMS.SETTINGS) def setConfigValue(self, category, option, value, section="core"): """Set new config value. @@ -154,9 +152,8 @@ class Api(Iface): elif section == "plugin": self.core.config.setPlugin(category, option, value) - @permission(PERMS.SETTINGS) - + @permission(PERMS.SETTINGS) def getConfig(self): """Retrieves complete config of core. @@ -172,9 +169,8 @@ class Api(Iface): """ return self.core.config.config - @permission(PERMS.SETTINGS) - + @permission(PERMS.SETTINGS) def getPluginConfig(self): """Retrieves complete config for all plugins. @@ -190,23 +186,20 @@ class Api(Iface): """ return self.core.config.plugin - @permission(PERMS.STATUS) - + @permission(PERMS.STATUS) def pauseServer(self): """Pause server: Tt wont start any new downloads, but nothing gets aborted.""" self.core.threadManager.pause = True - @permission(PERMS.STATUS) - + @permission(PERMS.STATUS) def unpauseServer(self): """Unpause server: New Downloads will be started.""" self.core.threadManager.pause = False - @permission(PERMS.STATUS) - + @permission(PERMS.STATUS) def togglePause(self): """Toggle pause state. @@ -215,9 +208,8 @@ class Api(Iface): self.core.threadManager.pause ^= True return self.core.threadManager.pause - @permission(PERMS.STATUS) - + @permission(PERMS.STATUS) def toggleReconnect(self): """Toggle reconnect activation. @@ -226,9 +218,8 @@ class Api(Iface): self.core.config["reconnect"]["activated"] ^= True return self.core.config["reconnect"]["activated"] - @permission(PERMS.LIST) - + @permission(PERMS.LIST) def statusServer(self): """Some general information about the current status of pyLoad. @@ -242,16 +233,14 @@ class Api(Iface): serverStatus.speed += pyfile.getSpeed() # bytes/s return serverStatus - @permission(PERMS.STATUS) - + @permission(PERMS.STATUS) def freeSpace(self): """Available free space at download directory in bytes""" return freeSpace(self.core.config["general"]["download_folder"]) - @permission(PERMS.ALL) - + @permission(PERMS.ALL) def getServerVersion(self): """pyLoad Core version """ return self.core.version @@ -266,9 +255,8 @@ class Api(Iface): """Restart pyload core""" self.core.do_restart = True - @permission(PERMS.LOGS) - + @permission(PERMS.LOGS) def getLog(self, offset=0): """Returns most recent log entries. @@ -286,9 +274,8 @@ class Api(Iface): except Exception: return ['No log available'] - @permission(PERMS.STATUS) - + @permission(PERMS.STATUS) def isTimeDownload(self): """Checks if pyload will start new downloads according to time in config. @@ -298,9 +285,8 @@ class Api(Iface): end = self.core.config['downloadTime']['end'].split(":") return compare_time(start, end) - @permission(PERMS.STATUS) - + @permission(PERMS.STATUS) def isTimeReconnect(self): """Checks if pyload will try to make a reconnect @@ -310,9 +296,8 @@ class Api(Iface): end = self.core.config['reconnect']['endTime'].split(":") return compare_time(start, end) and self.core.config["reconnect"]["activated"] - @permission(PERMS.LIST) - + @permission(PERMS.LIST) def statusDownloads(self): """ Status off all currently running downloads. @@ -329,9 +314,8 @@ class Api(Iface): pyfile.waitUntil, pyfile.packageid, pyfile.package().name, pyfile.pluginname)) return data - @permission(PERMS.ADD) - + @permission(PERMS.ADD) def addPackage(self, name, links, dest=Destination.Queue): """Adds a package, with links to desired destination. @@ -357,9 +341,8 @@ class Api(Iface): return pid - @permission(PERMS.ADD) - + @permission(PERMS.ADD) def parseURLs(self, html=None, url=None): """Parses html content or any arbitaty text for links and returns result of `checkURLs` @@ -375,9 +358,8 @@ class Api(Iface): # remove duplicates return self.checkURLs(set(urls)) - @permission(PERMS.ADD) - + @permission(PERMS.ADD) def checkURLs(self, urls): """ Gets urls and returns pluginname mapped to list of matches urls. @@ -395,9 +377,8 @@ class Api(Iface): return plugins - @permission(PERMS.ADD) - + @permission(PERMS.ADD) def checkOnlineStatus(self, urls): """ initiates online status check @@ -418,9 +399,8 @@ class Api(Iface): return OnlineCheck(rid, result) - @permission(PERMS.ADD) - + @permission(PERMS.ADD) def checkOnlineStatusContainer(self, urls, container, data): """ checks online status of urls and a submited container file @@ -434,9 +414,8 @@ class Api(Iface): th.close() return self.checkOnlineStatus(urls + [th.name]) - @permission(PERMS.ADD) - + @permission(PERMS.ADD) def pollResults(self, rid): """ Polls the result available for ResultID @@ -450,9 +429,8 @@ class Api(Iface): else: return OnlineCheck(rid, result) - @permission(PERMS.ADD) - + @permission(PERMS.ADD) def generatePackages(self, links): """ Parses links, generates packages names from urls @@ -461,9 +439,8 @@ class Api(Iface): """ return parseNames((x, x) for x in links) - @permission(PERMS.ADD) - + @permission(PERMS.ADD) def generateAndAddPackages(self, links, dest=Destination.Queue): """Generates and add packages @@ -474,9 +451,8 @@ class Api(Iface): return [self.addPackage(name, urls, dest) for name, urls in self.generatePackages(links).iteritems()] - @permission(PERMS.ADD) - + @permission(PERMS.ADD) def checkAndAddPackages(self, links, dest=Destination.Queue): """Checks online status, retrieves names, and will add packages.\ Because of this packages are not added immediatly, only for internal use. @@ -488,9 +464,8 @@ class Api(Iface): data = self.core.pluginManager.parseUrls(links) self.core.threadManager.createResultThread(data, True) - @permission(PERMS.LIST) - + @permission(PERMS.LIST) def getPackageData(self, pid): """Returns complete information about package, and included files. @@ -504,9 +479,8 @@ class Api(Iface): data["queue"], data["order"], links=[self._convertPyFile(x) for x in data["links"].itervalues()]) - @permission(PERMS.LIST) - + @permission(PERMS.LIST) def getPackageInfo(self, pid): """Returns information about package, without detailed information about containing files @@ -521,9 +495,8 @@ class Api(Iface): data["queue"], data["order"], fids=[int(x) for x in data["links"]]) - @permission(PERMS.LIST) - + @permission(PERMS.LIST) def getFileData(self, fid): """Get complete information about a specific file. @@ -535,9 +508,8 @@ class Api(Iface): raise FileDoesNotExists(fid) return self._convertPyFile(info.values()[0]) - @permission(PERMS.DELETE) - + @permission(PERMS.DELETE) def deleteFiles(self, fids): """Deletes several file entries from pyload. @@ -547,9 +519,8 @@ class Api(Iface): self.core.files.deleteLink(int(fid)) self.core.files.save() - @permission(PERMS.DELETE) - + @permission(PERMS.DELETE) def deletePackages(self, pids): """Deletes packages and containing links. @@ -559,9 +530,8 @@ class Api(Iface): self.core.files.deletePackage(int(pid)) self.core.files.save() - @permission(PERMS.LIST) - + @permission(PERMS.LIST) def getQueue(self): """Returns info about queue and packages, **not** about files, see `getQueueData` \ or `getPackageData` instead. @@ -574,9 +544,8 @@ class Api(Iface): pack["linkstotal"]) for pack in self.core.files.getInfoData(Destination.Queue).itervalues()] - @permission(PERMS.LIST) - + @permission(PERMS.LIST) def getQueueData(self): """Return complete data about everything in queue, this is very expensive use it sparely.\ See `getQueue` for alternative. @@ -589,9 +558,8 @@ class Api(Iface): links=[self._convertPyFile(x) for x in pack["links"].itervalues()]) for pack in self.core.files.getCompleteData(Destination.Queue).itervalues()] - @permission(PERMS.LIST) - + @permission(PERMS.LIST) def getCollector(self): """same as `getQueue` for collector. @@ -603,9 +571,8 @@ class Api(Iface): pack["linkstotal"]) for pack in self.core.files.getInfoData(Destination.Collector).itervalues()] - @permission(PERMS.LIST) - + @permission(PERMS.LIST) def getCollectorData(self): """same as `getQueueData` for collector. @@ -617,9 +584,8 @@ class Api(Iface): links=[self._convertPyFile(x) for x in pack["links"].itervalues()]) for pack in self.core.files.getCompleteData(Destination.Collector).itervalues()] - @permission(PERMS.ADD) - + @permission(PERMS.ADD) def addFiles(self, pid, links): """Adds files to specific package. @@ -630,9 +596,8 @@ class Api(Iface): self.core.log.info(_("Added %(count)d links to package #%(package)d ") % {"count": len(links), "package": pid}) self.core.files.save() - @permission(PERMS.MODIFY) - + @permission(PERMS.MODIFY) def pushToQueue(self, pid): """Moves package from Collector to Queue. @@ -640,9 +605,8 @@ class Api(Iface): """ self.core.files.setPackageLocation(pid, Destination.Queue) - @permission(PERMS.MODIFY) - + @permission(PERMS.MODIFY) def pullFromQueue(self, pid): """Moves package from Queue to Collector. @@ -650,9 +614,8 @@ class Api(Iface): """ self.core.files.setPackageLocation(pid, Destination.Collector) - @permission(PERMS.MODIFY) - + @permission(PERMS.MODIFY) def restartPackage(self, pid): """Restarts a package, resets every containing files. @@ -660,9 +623,8 @@ class Api(Iface): """ self.core.files.restartPackage(int(pid)) - @permission(PERMS.MODIFY) - + @permission(PERMS.MODIFY) def restartFile(self, fid): """Resets file status, so it will be downloaded again. @@ -670,9 +632,8 @@ class Api(Iface): """ self.core.files.restartFile(int(fid)) - @permission(PERMS.MODIFY) - + @permission(PERMS.MODIFY) def recheckPackage(self, pid): """Proofes online status of all files in a package, also a default action when package is added. @@ -681,9 +642,8 @@ class Api(Iface): """ self.core.files.reCheckPackage(int(pid)) - @permission(PERMS.MODIFY) - + @permission(PERMS.MODIFY) def stopAllDownloads(self): """Aborts all running downloads.""" @@ -691,9 +651,8 @@ class Api(Iface): for pyfile in pyfiles: pyfile.abortDownload() - @permission(PERMS.MODIFY) - + @permission(PERMS.MODIFY) def stopDownloads(self, fids): """Aborts specific downloads. @@ -705,9 +664,8 @@ class Api(Iface): if pyfile.id in fids: pyfile.abortDownload() - @permission(PERMS.MODIFY) - + @permission(PERMS.MODIFY) def setPackageName(self, pid, name): """Renames a package. @@ -718,9 +676,8 @@ class Api(Iface): pack.name = name pack.sync() - @permission(PERMS.MODIFY) - + @permission(PERMS.MODIFY) def movePackage(self, destination, pid): """Set a new package location. @@ -730,9 +687,8 @@ class Api(Iface): if destination in (0, 1): self.core.files.setPackageLocation(pid, destination) - @permission(PERMS.MODIFY) - + @permission(PERMS.MODIFY) def moveFiles(self, fids, pid): """Move multiple files to another package @@ -745,8 +701,6 @@ class Api(Iface): @permission(PERMS.ADD) - - def uploadContainer(self, filename, data): """Uploads and adds a container file to pyLoad. @@ -758,9 +712,8 @@ class Api(Iface): th.close() self.addPackage(th.name, [th.name], Destination.Queue) - @permission(PERMS.MODIFY) - + @permission(PERMS.MODIFY) def orderPackage(self, pid, position): """Gives a package a new position. @@ -769,9 +722,8 @@ class Api(Iface): """ self.core.files.reorderPackage(pid, position) - @permission(PERMS.MODIFY) - + @permission(PERMS.MODIFY) def orderFile(self, fid, position): """Gives a new position to a file within its package. @@ -780,9 +732,8 @@ class Api(Iface): """ self.core.files.reorderFile(fid, position) - @permission(PERMS.MODIFY) - + @permission(PERMS.MODIFY) def setPackageData(self, pid, data): """Allows to modify several package attributes. @@ -799,9 +750,8 @@ class Api(Iface): package.sync() self.core.files.save() - @permission(PERMS.DELETE) - + @permission(PERMS.DELETE) def deleteFinished(self): """Deletes all finished files and completly finished packages. @@ -809,16 +759,14 @@ class Api(Iface): """ return self.core.files.deleteFinishedLinks() - @permission(PERMS.MODIFY) - + @permission(PERMS.MODIFY) def restartFailed(self): """Restarts all failed failes.""" self.core.files.restartFailed() - @permission(PERMS.LIST) - + @permission(PERMS.LIST) def getPackageOrder(self, destination): """Returns information about package order. @@ -834,9 +782,8 @@ class Api(Iface): order[pack["order"]] = pack["id"] return order - @permission(PERMS.LIST) - + @permission(PERMS.LIST) def getFileOrder(self, pid): """Information about file order within package. @@ -853,8 +800,6 @@ class Api(Iface): @permission(PERMS.STATUS) - - def isCaptchaWaiting(self): """Indicates wether a captcha task is available @@ -864,9 +809,8 @@ class Api(Iface): task = self.core.captchaManager.getTask() return not task is None - @permission(PERMS.STATUS) - + @permission(PERMS.STATUS) def getCaptchaTask(self, exclusive=False): """Returns a captcha task @@ -882,9 +826,8 @@ class Api(Iface): return ctask return CaptchaTask(-1) - @permission(PERMS.STATUS) - + @permission(PERMS.STATUS) def getCaptchaTaskStatus(self, tid): """Get information about captcha task @@ -895,9 +838,8 @@ class Api(Iface): task = self.core.captchaManager.getTaskByID(tid) return task.getStatus() if task else "" - @permission(PERMS.STATUS) - + @permission(PERMS.STATUS) def setCaptchaResult(self, tid, result): """Set result for a captcha task @@ -910,9 +852,8 @@ class Api(Iface): task.setResult(result) self.core.captchaManager.removeTask(task) - @permission(PERMS.STATUS) - + @permission(PERMS.STATUS) def getEvents(self, uuid): """Lists occured events, may be affected to changes in future. @@ -943,9 +884,8 @@ class Api(Iface): new_events.append(event) return new_events - @permission(PERMS.ACCOUNTS) - + @permission(PERMS.ACCOUNTS) def getAccounts(self, refresh): """Get information about all entered accounts. @@ -959,9 +899,8 @@ class Api(Iface): for acc in group] return accounts or [] - @permission(PERMS.ALL) - + @permission(PERMS.ALL) def getAccountTypes(self): """All available account types. @@ -969,16 +908,14 @@ class Api(Iface): """ return self.core.accountManager.accounts.keys() - @permission(PERMS.ACCOUNTS) - + @permission(PERMS.ACCOUNTS) def updateAccount(self, plugin, account, password=None, options=None): """Changes pw/options for specific account.""" self.core.accountManager.updateAccount(plugin, account, password, options or {}) - @permission(PERMS.ACCOUNTS) - + @permission(PERMS.ACCOUNTS) def removeAccount(self, plugin, account): """Remove account from pyload. @@ -987,9 +924,8 @@ class Api(Iface): """ self.core.accountManager.removeAccount(plugin, account) - @permission(PERMS.ALL) - + @permission(PERMS.ALL) def login(self, username, password, remoteip=None): """Login into pyLoad, this **must** be called when using rpc before any methods can be used. @@ -1029,9 +965,8 @@ class Api(Iface): else: return False - @permission(PERMS.ALL) - + @permission(PERMS.ALL) def getUserData(self, username, password): """similar to `checkAuth` but returns UserData thrift type """ user = self.checkAuth(username, password) @@ -1046,9 +981,8 @@ class Api(Iface): return dict((user, UserData(user, data["email"], data["role"], data["permission"], data["template"])) for user, data in self.core.db.getAllUserData().iteritems()) - @permission(PERMS.STATUS) - + @permission(PERMS.STATUS) def getServices(self): """ A dict of available services, these can be defined by addon plugins. @@ -1056,9 +990,8 @@ class Api(Iface): """ return dict((plugin, funcs) for plugin, funcs in self.core.addonManager.methods.iteritems()) - @permission(PERMS.STATUS) - + @permission(PERMS.STATUS) def hasService(self, plugin, func): """Checks wether a service is available. @@ -1069,9 +1002,8 @@ class Api(Iface): cont = self.core.addonManager.methods return plugin in cont and func in cont[plugin] - @permission(PERMS.STATUS) - + @permission(PERMS.STATUS) def call(self, info): """Calls a service (a method in addon plugin). @@ -1091,9 +1023,8 @@ class Api(Iface): except Exception, e: raise ServiceException(e.message) - @permission(PERMS.STATUS) - + @permission(PERMS.STATUS) def getAllInfo(self): """Returns all information stored by addon plugins. Values are always strings @@ -1101,9 +1032,8 @@ class Api(Iface): """ return self.core.addonManager.getAllInfo() - @permission(PERMS.STATUS) - + @permission(PERMS.STATUS) def getInfoByPlugin(self, plugin): """Returns information stored by a specific plugin. |