Skip to content

['Development']

Webui JSON api

For a demo: set the webui-template to "ajax_demo".

Full client api

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
    }]