Deluge RPC API

class deluge.core.core.Core(listen_interface=None, outgoing_interface=None, read_only_config_keys=None)
add_torrent_file(filename, filedump, options)

Adds a torrent file to the session.

Parameters
  • filename (str) – The filename of the torrent.

  • filedump (str) – A base64 encoded string of the torrent file contents.

  • options (dict) – The options to apply to the torrent upon adding.

Returns

str – The torrent_id or None.

RPC exported method (Auth level: 5)

add_torrent_file_async(filename, filedump, options, save_state=True)

Adds a torrent file to the session asynchonously.

Parameters
  • filename (str) – The filename of the torrent.

  • filedump (str) – A base64 encoded string of torrent file contents.

  • options (dict) – The options to apply to the torrent upon adding.

  • save_state (bool) – If the state should be saved after adding the file.

Returns

Deferred – The torrent ID or None.

RPC exported method (Auth level: 5)

add_torrent_files(torrent_files)

Adds multiple torrent files to the session asynchonously.

Parameters

torrent_files (list of tuples) – Torrent files as tuple of (filename, filedump, options).

Returns

Deferred

RPC exported method (Auth level: 5)

add_torrent_magnet(uri, options)

Adds a torrent from a magnet link.

Parameters
  • uri (string) – the magnet link

  • options (dict) – the options to apply to the torrent on add

Returns

the torrent_id

Return type

string

RPC exported method (Auth level: 5)

add_torrent_url(url, options, headers=None)

Adds a torrent from a url. Deluge will attempt to fetch the torrent from url prior to adding it to the session.

Parameters
  • url (string) – the url pointing to the torrent file

  • options (dict) – the options to apply to the torrent on add

  • headers (dict) – any optional headers to send

Returns

a Deferred which returns the torrent_id as a str or None

RPC exported method (Auth level: 5)

connect_peer(torrent_id, ip, port)

RPC exported method (Auth level: 5)

create_account(username, password, authlevel)

RPC exported method (Auth level: 10)

create_torrent(path, tracker, piece_length, comment, target, webseeds, private, created_by, trackers, add_to_session)

RPC exported method (Auth level: 5)

disable_plugin(plugin)

RPC exported method (Auth level: 5)

enable_plugin(plugin)

RPC exported method (Auth level: 5)

force_reannounce(torrent_ids)

RPC exported method (Auth level: 5)

force_recheck(torrent_ids)

Forces a data recheck on torrent_ids

RPC exported method (Auth level: 5)

get_auth_levels_mappings()

RPC exported method (Auth level: 0)

get_available_plugins()

Returns a list of plugins available in the core

RPC exported method (Auth level: 5)

get_completion_paths(args)

Returns the available path completions for the input value.

RPC exported method (Auth level: 5)

get_config()

Get all the preferences as a dictionary

RPC exported method (Auth level: 5)

get_config_value(key)

Get the config value for key

RPC exported method (Auth level: 5)

get_config_values(keys)

Get the config values for the entered keys

RPC exported method (Auth level: 5)

get_enabled_plugins()

Returns a list of enabled plugins in the core

RPC exported method (Auth level: 5)

get_external_ip()

Returns the external ip address recieved from libtorrent.

RPC exported method (Auth level: 5)

get_filter_tree(show_zero_hits=True, hide_cat=None)

returns {field: [(value,count)] } for use in sidebar(s)

RPC exported method (Auth level: 5)

get_free_space(path=None)

Returns the number of free bytes at path

Parameters

path (string) – the path to check free space at, if None, use the default download location

Returns

the number of free bytes at path

Return type

int

Raises

InvalidPathError – if the path is invalid

RPC exported method (Auth level: 5)

get_known_accounts()

RPC exported method (Auth level: 10)

get_libtorrent_version()

Returns the libtorrent version.

Returns

the version

Return type

string

RPC exported method (Auth level: 5)

get_listen_port()

Returns the active listen port

RPC exported method (Auth level: 5)

get_path_size(path)
Returns the size of the file or folder ‘path’ and -1 if the path is

unaccessible (non-existent or insufficient privs)

RPC exported method (Auth level: 5)

get_proxy()

Returns the proxy settings

Returns

dict – Contains proxy settings.

Notes

Proxy type names:

0: None, 1: Socks4, 2: Socks5, 3: Socks5 w Auth, 4: HTTP, 5: HTTP w Auth, 6: I2P

RPC exported method (Auth level: 5)

get_session_state()

Returns a list of torrent_ids in the session.

RPC exported method (Auth level: 5)

get_session_status(keys)

Gets the session status values for ‘keys’, these keys are taking from libtorrent’s session status.

See: http://www.rasterbar.com/products/libtorrent/manual.html#status

Parameters

keys (list) – the keys for which we want values

Returns

a dictionary of {key: value, …}

Return type

dict

RPC exported method (Auth level: 5)

get_torrent_status(torrent_id, keys, diff=False)

RPC exported method (Auth level: 5)

get_torrents_status(filter_dict, keys, diff=False)

returns all torrents , optionally filtered by filter_dict.

RPC exported method (Auth level: 5)

glob(path)

RPC exported method (Auth level: 5)

is_session_paused()

Returns the activity of the session

RPC exported method (Auth level: 5)

move_storage(torrent_ids, dest)

RPC exported method (Auth level: 5)

pause_session()

Pause the entire session

RPC exported method (Auth level: 5)

pause_torrent(torrent_id)

Pauses a torrent

RPC exported method (Auth level: 5)

pause_torrents(torrent_ids=None)

Pauses a list of torrents

RPC exported method (Auth level: 5)

prefetch_magnet_metadata(magnet, timeout=30)

Download magnet metadata without adding to Deluge session.

Used by UIs to get magnet files for selection before adding to session.

Parameters
  • magnet (str) – The magnet uri.

  • timeout (int) – Number of seconds to wait before cancelling request.

Returns

Deferred – A tuple of (torrent_id (str), metadata (dict)) for the magnet.

RPC exported method (Auth level: 5)

queue_bottom(torrent_ids)

RPC exported method (Auth level: 5)

queue_down(torrent_ids)

RPC exported method (Auth level: 5)

queue_top(torrent_ids)

RPC exported method (Auth level: 5)

queue_up(torrent_ids)

RPC exported method (Auth level: 5)

remove_account(username)

RPC exported method (Auth level: 10)

remove_torrent(torrent_id, remove_data)

Removes a single torrent from the session.

Parameters
  • torrent_id (str) – The torrent ID to remove.

  • remove_data (bool) – If True, also remove the downloaded data.

Returns

bool – True if removed successfully.

Raises

InvalidTorrentError – If the torrent ID does not exist in the session.

RPC exported method (Auth level: 5)

remove_torrents(torrent_ids, remove_data)

Remove multiple torrents from the session.

Parameters
  • torrent_ids (list) – The torrent IDs to remove.

  • remove_data (bool) – If True, also remove the downloaded data.

Returns

list

An empty list if no errors occurred otherwise the list contains

tuples of strings, a torrent ID and an error message. For example:

[(‘<torrent_id>’, ‘Error removing torrent’)]

RPC exported method (Auth level: 5)

rename_files(torrent_id, filenames)

Rename files in torrent_id. Since this is an asynchronous operation by libtorrent, watch for the TorrentFileRenamedEvent to know when the files have been renamed.

Parameters
  • torrent_id (string) – the torrent_id to rename files

  • filenames (((index, filename), ..)) – a list of index, filename pairs

Raises

InvalidTorrentError – if torrent_id is invalid

RPC exported method (Auth level: 5)

rename_folder(torrent_id, folder, new_folder)

Renames the ‘folder’ to ‘new_folder’ in ‘torrent_id’. Watch for the TorrentFolderRenamedEvent which is emitted when the folder has been renamed successfully.

Parameters
  • torrent_id (string) – the torrent to rename folder in

  • folder (string) – the folder to rename

  • new_folder (string) – the new folder name

Raises

InvalidTorrentError – if the torrent_id is invalid

RPC exported method (Auth level: 5)

rescan_plugins()

Rescans the plugin folders for new plugins

RPC exported method (Auth level: 5)

resume_session()

Resume the entire session

RPC exported method (Auth level: 5)

resume_torrent(torrent_id)

Resumes a torrent

RPC exported method (Auth level: 5)

resume_torrents(torrent_ids=None)

Resumes a list of torrents

RPC exported method (Auth level: 5)

set_config(config)

Set the config with values from dictionary

RPC exported method (Auth level: 5)

set_torrent_auto_managed(torrent_id, value)

Deprecated: Use set_torrent_options with ‘auto_managed’

RPC exported method (Auth level: 5)

set_torrent_file_priorities(torrent_id, priorities)

Deprecated: Use set_torrent_options with ‘file_priorities’

RPC exported method (Auth level: 5)

set_torrent_max_connections(torrent_id, value)

Deprecated: Use set_torrent_options with ‘max_connections’

RPC exported method (Auth level: 5)

set_torrent_max_download_speed(torrent_id, value)

Deprecated: Use set_torrent_options with ‘max_download_speed’

RPC exported method (Auth level: 5)

set_torrent_max_upload_slots(torrent_id, value)

Deprecated: Use set_torrent_options with ‘max_upload_slots’

RPC exported method (Auth level: 5)

set_torrent_max_upload_speed(torrent_id, value)

Deprecated: Use set_torrent_options with ‘max_upload_speed’

RPC exported method (Auth level: 5)

set_torrent_move_completed(torrent_id, value)

Deprecated: Use set_torrent_options with ‘move_completed’

RPC exported method (Auth level: 5)

set_torrent_move_completed_path(torrent_id, value)

Deprecated: Use set_torrent_options with ‘move_completed_path’

RPC exported method (Auth level: 5)

set_torrent_options(torrent_ids, options)

Sets the torrent options for torrent_ids

Parameters
  • torrent_ids (list) – A list of torrent_ids to set the options for.

  • options (dict) – A dict of torrent options to set. See torrent.TorrentOptions class for valid keys.

RPC exported method (Auth level: 5)

set_torrent_prioritize_first_last(torrent_id, value)

Deprecated: Use set_torrent_options with ‘prioritize_first_last’

RPC exported method (Auth level: 5)

set_torrent_remove_at_ratio(torrent_id, value)

Deprecated: Use set_torrent_options with ‘remove_at_ratio’

RPC exported method (Auth level: 5)

set_torrent_stop_at_ratio(torrent_id, value)

Deprecated: Use set_torrent_options with ‘stop_at_ratio’

RPC exported method (Auth level: 5)

set_torrent_stop_ratio(torrent_id, value)

Deprecated: Use set_torrent_options with ‘stop_ratio’

RPC exported method (Auth level: 5)

set_torrent_trackers(torrent_id, trackers)

Sets a torrents tracker list. trackers will be [{“url”, “tier”}]

RPC exported method (Auth level: 5)

test_listen_port()

Checks if the active port is open

Returns

True if the port is open, False if not

Return type

bool

RPC exported method (Auth level: 5)

update_account(username, password, authlevel)

RPC exported method (Auth level: 10)

upload_plugin(filename, filedump)
This method is used to upload new plugins to the daemon. It is used

when connecting to the daemon remotely and installing a new plugin on the client side. ‘plugin_data’ is a xmlrpc.Binary object of the file data, ie, plugin_file.read()

RPC exported method (Auth level: 5)

class deluge.core.daemon.Daemon(listen_interface=None, outgoing_interface=None, interface=None, port=None, standalone=False, read_only_config_keys=None)

The Deluge Daemon class

__init__(listen_interface=None, outgoing_interface=None, interface=None, port=None, standalone=False, read_only_config_keys=None)
Parameters
  • listen_interface (str, optional) – The IP address to listen to BitTorrent connections on.

  • outgoing_interface (str, optional) – The network interface name or IP address to open outgoing BitTorrent connections on.

  • interface (str, optional) – The IP address the daemon will listen for UI connections on.

  • port (int, optional) – The port the daemon will listen for UI connections on.

  • standalone (bool, optional) – If True the client is in Standalone mode otherwise, if False, start the daemon as separate process.

  • read_only_config_keys (list of str, optional) – A list of config keys that will not be altered by core.set_config() RPC method.

authorized_call(rpc)

Determines if session auth_level is authorized to call RPC.

Parameters

rpc (str) – A RPC, e.g. core.get_torrents_status

Returns

bool – True if authorized to call RPC, otherwise False.

RPC exported method (Auth level: 1)

get_method_list()

Returns a list of the exported methods.

RPC exported method (Auth level: 5)

get_version()

Returns the daemon version

RPC exported method (Auth level: 5)

shutdown(*args, **kwargs)

RPC exported method (Auth level: 5)