mirror of
https://git.deluge-torrent.org/deluge
synced 2025-09-02 16:15:32 +00:00
[Docs] Reorganise and add sections from wiki
- Change the layout and contents of docs to be better organised and follow ideas from: https://www.divio.com/blog/documentation/ - Use markdown for non-technical documents to speed up writing. - Added new sections and imported documents from Trac wiki. Build fixes: - Added a patch to fix recommonmark 0.4 and doc referencing: https://github.com/rtfd/recommonmark/issues/93 - Set docs build in tox to Py2.7 since there are problems with autodoc mocking multiple inheritance on Python 3 resulting in metaclass errors. - Supressed warning about `modules.rst` not in the toctree by creating a static `modules.rst` with `:orphan:` file directive and add to git. Also skip creating this toc file with sphinx-apidoc in setup and tox. - Simplified finding exported RPC and JSON API methods by adding an autodoc custom class directive. Removed unneeded __rpcapi.py.
This commit is contained in:
parent
9dcd90056d
commit
82ecf8a416
31 changed files with 728 additions and 101 deletions
12
docs/source/reference/api.rst
Normal file
12
docs/source/reference/api.rst
Normal file
|
@ -0,0 +1,12 @@
|
|||
Deluge RPC API
|
||||
==============
|
||||
|
||||
* :doc:`rpc`
|
||||
|
||||
.. autoclass:: deluge.core.core.Core
|
||||
:members:
|
||||
:exported:
|
||||
|
||||
.. autoclass:: deluge.core.daemon.Daemon
|
||||
:members:
|
||||
:exported:
|
11
docs/source/reference/index.rst
Normal file
11
docs/source/reference/index.rst
Normal file
|
@ -0,0 +1,11 @@
|
|||
Reference
|
||||
=========
|
||||
|
||||
Technical reference material.
|
||||
|
||||
.. toctree::
|
||||
|
||||
Web UI <web>
|
||||
Deluge RPC <rpc>
|
||||
RPC API <api>
|
||||
Web API <webapi>
|
98
docs/source/reference/rpc.rst
Normal file
98
docs/source/reference/rpc.rst
Normal file
|
@ -0,0 +1,98 @@
|
|||
Deluge RPC
|
||||
==========
|
||||
---------------
|
||||
Message Formats
|
||||
---------------
|
||||
DelugeRPC is a protocol used for daemon/client communication. There are four
|
||||
types of messages involved in the protocol: RPC Request, RPC Response,
|
||||
RPC Error and Event. All messages are zlib compressed rencoded strings and
|
||||
their data formats are detailed below.
|
||||
|
||||
"""""""""""
|
||||
RPC Request
|
||||
"""""""""""
|
||||
This message is created and sent by the client to the server requesting that a
|
||||
remote method be called. Multiple requests can be bundled in a list.
|
||||
|
||||
**[[request_id, method, [args], {kwargs}], ...]**
|
||||
|
||||
**request_id** (int)
|
||||
An integer determined by the client that is used in replies from the server.
|
||||
This is used to ensure the client knows which request the data is in
|
||||
response to. Another alternative would be to respond in the same order the
|
||||
requests come in, but this could cause lag if an earlier request takes
|
||||
longer to process.
|
||||
|
||||
**method** (str)
|
||||
The name of the remote method to call. This name can be in dotted format to
|
||||
call other objects or plugins methods.
|
||||
|
||||
**args** (list)
|
||||
The arguments to call the method with.
|
||||
|
||||
**kwargs** (dict)
|
||||
The keyword arguments to call the method with.
|
||||
|
||||
""""""""""""
|
||||
RPC Response
|
||||
""""""""""""
|
||||
This message is created and sent in response to a RPC Request from a client. It
|
||||
will hold the return value of the requested method call. In the case of an
|
||||
error, a RPC Error message will be sent instead.
|
||||
|
||||
**[message_type, request_id, [return_value]]**
|
||||
|
||||
**message_type** (int)
|
||||
This will be a RPC_RESPONSE type id. This is used on the client side to
|
||||
determine what kind of message is being received from the daemon.
|
||||
|
||||
**request_id** (int)
|
||||
The request_id is the same as the one sent by the client in the initial
|
||||
request. It used on the client side to determine what message this is in
|
||||
response to.
|
||||
|
||||
**return_value** (list)
|
||||
The return value of the method call.
|
||||
|
||||
"""""""""
|
||||
RPC Error
|
||||
"""""""""
|
||||
This message is created in response to an error generated while processing a
|
||||
RPC Request and will serve as a replacement for a RPC Response message.
|
||||
|
||||
**[message_type, request_id, exception_type, exception_msg, traceback]**
|
||||
|
||||
**message_type** (int)
|
||||
This will be a RPC_ERROR type id.
|
||||
|
||||
**request_id** (int)
|
||||
The request_id is the same as the one sent by the client in the initial
|
||||
request.
|
||||
|
||||
**exception_type** (str)
|
||||
The type of exception raised.
|
||||
|
||||
**exception_msg** (str)
|
||||
The message as to why the exception was raised.
|
||||
|
||||
**traceback** (str)
|
||||
The traceback of the generated exception.
|
||||
|
||||
"""""
|
||||
Event
|
||||
"""""
|
||||
This message is created by the daemon and sent to the clients without being in
|
||||
response to a RPC Request. Events are generally sent for changes in the
|
||||
daemon's state that the clients need to be made aware of.
|
||||
|
||||
**[message_type, event_name, data]**
|
||||
|
||||
**message_type** (int)
|
||||
This will be a RPC_EVENT type id.
|
||||
|
||||
**event_name** (str)
|
||||
This is the name of the event being emitted by the daemon.
|
||||
|
||||
**data** (list)
|
||||
Additional data to be sent with the event. This is dependent upon the event
|
||||
being emitted.
|
16
docs/source/reference/web.md
Normal file
16
docs/source/reference/web.md
Normal file
|
@ -0,0 +1,16 @@
|
|||
# Deluge Web UI
|
||||
|
||||
The Deluge web interface is intended to be a full featured interface built using
|
||||
the ExtJS framework, running on top of a Twisted webserver.
|
||||
|
||||
## SSL Configuration
|
||||
|
||||
By default the web interface will use the same private key and certificate as
|
||||
the Deluge daemon. If you wish to use a different certificate/key (see
|
||||
[How to Create a SSL Certificate](http://www.yatblog.com/2007/02/27/how-to-create-a-ssl-certificate/))
|
||||
for information on creating one) you are able to specify which you want to use.
|
||||
|
||||
There are 2 ways to enable SSL encryption in the webserver, 1 is to specify it
|
||||
in your configuration (accessible via the Preferences window). The other is to
|
||||
add '--ssl' when running the webserver, which will override the configuration
|
||||
value and enable SSL.
|
17
docs/source/reference/webapi.rst
Normal file
17
docs/source/reference/webapi.rst
Normal file
|
@ -0,0 +1,17 @@
|
|||
Deluge Web JSON-RPC API
|
||||
=======================
|
||||
|
||||
* Spec: `JSON-RPC v1 <https://www.jsonrpc.org/specification_v1>`_
|
||||
* URL: ``/json``
|
||||
* :doc:`api`
|
||||
|
||||
|
||||
.. autoclass:: deluge.ui.web.json_api.WebApi
|
||||
:members:
|
||||
:exported:
|
||||
:noindex:
|
||||
|
||||
.. autoclass:: deluge.ui.web.json_api.WebUtils
|
||||
:members:
|
||||
:exported:
|
||||
:noindex:
|
Loading…
Add table
Add a link
Reference in a new issue