101 lines
1.8 KiB
Markdown
Raw Normal View History

2024-06-23 16:30:49 +01:00
['Development']
# Webui JSON api
For a demo: set the webui-template to "ajax_demo".
## Full client api
* url : /json/rpc
* rpc-api : http://en.wikipedia.org/wiki/JSON-RPC#Version_1.0
* methods : http://dev.deluge-torrent.org/wiki/Development/UiClient#Remoteapi
## added methods, json only
### update_ui(keys ,filter_dict , cache_id = None )
Composite call.
Goal : limit the number of ajax calls
input:
```
keys: see get_torrent_status
filter_dict: see label_get_filtered_ids # only effective if the label plugin is enabled.
cache_id: # todo
```
returns:
```
{
"torrents": see get_torrent_status
"filters": see label_get_filters
"stats": see get_stats
"cache_id":int # todo
}
```
### get_stats()
returns:
```
{
'download_rate':float(),
'upload_rate':float(),
'max_download':float(),
'max_upload':float(),
'num_connections':int(),
'max_num_connections':int(),
'dht_nodes',int()
}
```
### get_webui_config
returns: a dict with the current webui config (excluding "pwd_*" fields)
### set_webui_config(config_dict)
input: a dict with the webui config-values (extra possible key:"pwd")
### get_webui_templates()
returns: a list of strings.
### download_torrent_from_url(url)
input:
```
url: the url of the torrent to download
```
returns:
```
filename: the temporary file name of the torrent file
```
### get_torrent_info(filename)
Goal:
allow the webui to retrieve data about the torrent
input:
```
filename: the filename of the torrent to gather info about
```
returns:
```
{
"filename": the torrent file
"name": the torrent name
"size": the total size of the torrent
"files": the files the torrent contains
"info_hash" the torrents info_hash
}
```
### add_torrents(torrents)
input:
```
torrents [{
path: the path of the torrent file,
options: the torrent options
}]
```