summaryrefslogtreecommitdiffstats
path: root/docs/api/thrift_api.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/api/thrift_api.rst')
-rw-r--r--docs/api/thrift_api.rst74
1 files changed, 0 insertions, 74 deletions
diff --git a/docs/api/thrift_api.rst b/docs/api/thrift_api.rst
deleted file mode 100644
index cd1d2f23c..000000000
--- a/docs/api/thrift_api.rst
+++ /dev/null
@@ -1,74 +0,0 @@
-.. _thrift_api:
-
-==========
-Thrift API
-==========
-
-Thrift [1]_ was first developed in-house at facebook, but later published to public domain and developed at Apache Incubator.
-It includes a binary protocol for remote calls, which has a much better performance than other data formats like XML, additionally
-it is available for numerous languages and therefore we choose it as primary backend for our API.
-
-First of all, you need to know what you can do with our API. It lets you do all common task like
-retrieving download status, manage queue, manage accounts, modify config and so on.
-
-This document is not intended to explain every function in detail, for a complete listing
-see :class:`Api <module.Api.Api>`.
-
-Of course its possible to access the ``core.api`` attribute in plugins and hooks, but much more
-interesting is the possibility to call function from different programs written in many different languages.
-
-pyLoad uses thrift as backend and provides its :class:`Api <module.Api.Api>` as service.
-More information about thrift can be found in their wiki [2]_.
-
-
-Using Thrift
-------------
-
-Every thrift service has to define all data structures and declare every method which should be usable via rpc.
-This file is located at :file:`module/remote/thriftbackend/pyload.thrift`, its very helpful to inform about
-arguments and detailed structure of return types. However it does not contain any information about what the functions does.
-You can also look at it :doc:`here <datatypes>`
-
-Assuming you want to use the API in any other language than python than check if it is supported [3]_.
-
-Now install thrift, for instructions see [4]_.
-If every thing went fine you are ready to generate the method stubs, the command basically looks like this. ::
-
- $ thrift --gen (language) pyload.thrift
-
-You find now a directory named :file:`gen-(language)`. For instruction how to use the generated files consider the docs
-at the thrift wiki, as well at the examples [5]_.
-
-
-Example
--------
-
-In case you want to use python, pyload has already all files included to access the api over rpc.
-
-A basic script that prints out some information: ::
-
- from module.remote.thriftbackend.ThriftClient import ThriftClient, WrongLogin
-
- try:
- client = ThriftClient(host="127.0.0.1", port=7227, user="User", password="yourpw")
- except:
- print "Login was wrong"
- exit()
-
- print "Server version:", client.getServerVersion()
- print client.statusDownloads()
- q = client.getQueue()
- for p in q:
- data = client.getPackageData(p.pid)
- print "Package Name: ", data.name
-
-That's all for now, pretty easy isn't it?
-If you still have open questions come around in irc or post them at our pyload forum.
-
-.. rubric:: Footnotes
-
-.. [1] http://en.wikipedia.org/wiki/Thrift_(protocol)
-.. [2] http://wiki.apache.org/thrift/
-.. [3] http://wiki.apache.org/thrift/LibraryFeatures?action=show&redirect=LanguageSupport
-.. [4] http://wiki.apache.org/thrift/ThriftInstallation
-.. [5] http://wiki.apache.org/thrift/ThriftUsage \ No newline at end of file