Version 2 (modified by mvoncken, 16 years ago) (diff)

--

deluge.ui.client

This is the remote api for deluge.

It is used by all deluge user interfaces.

aclient

The asynchronous api.

Used by rich user interfaces like gtk, or for performance critical batch-calls in webui.

from deluge.ui.client import aclient
#get list of torrents

class TestClient:
    def __init__(self):
        self.torrent_ids = []
        self.torrent_status = []

    def cb_session_state(self, torrent_ids):
        self.torrent_ids = torrent_ids

    def cb_torrent_status(self, status):
        self.torrent_status.append(status)

    def run(self):
        aclient.get_session_state(self.cb_session_state)
        aclient.force_call(block=True)
        print self.torrent_ids

        for id in self.torrent_ids:
            aclient.get_torrent_status(self.cb_torrent_status, id , [])
        aclient.force_call(block=True)
        for status in self.torrent_status:
            print status

aclient.set_core_uri()
t = TestClient()
t.run()

sclient

The synchronous api.

Simpler, but blocking the main thread.

from deluge.ui.client import sclient
#get list of torrents
sclient.set_core_uri()
torrent_ids = sclient.get_session_state()
for id in torrent_ids:
    print sclient.get_torrent_status(id, [])

Remote api

Core methods exposed by aclient and sclient.

for sclient : ignore [callback]

for acleint : [callback] is the 1st parameter and refers to a callback method.

Generated from docstrings , do not edit

add_torrent_file(torrent_files ,torrent_options):

Adds torrent files to the core Expects a list of torrent files A list of torrent_option dictionaries in the same order of torrent_files

add_torrent_url(url ,save_path ,options):

block_ip_range(range):

Block an ip range

deregister_client():

De-registers a client with the signal manager.

disable_plugin(plugin):

enable_plugin(plugin):

force_reannounce(torrent_ids):

force_recheck(torrent_ids):

Forces a data recheck on torrent_ids

get_available_plugins([callback]):

Returns a list of plugins available in the core

get_config([callback]):

Get all the preferences as a dictionary

get_config_value([callback] ,key):

Get the config value for key

get_dht_nodes([callback]):

Returns the number of dht nodes

get_download_rate([callback]):

Returns the payload download rate

get_enabled_plugins([callback]):

Returns a list of enabled plugins in the core

get_listen_port([callback]):

Returns the active listen port

get_num_connections([callback]):

Returns the current number of connections

get_session_state([callback]):

Returns a list of torrent_ids in the session.

get_torrent_status([callback] ,torrent_id ,keys):

get_torrents_status([callback] ,torrent_ids ,keys):

get_upload_rate([callback]):

Returns the payload upload rate

move_torrent(torrent_ids ,dest):

pause_all_torrents():

Pause all torrents in the session

pause_torrent(torrent_ids):

ping([callback]):

A method to see if the core is running

register_client(port):

Registers a client with the signal manager so that signals are sent to it.

remove_torrent(torrent_ids ,remove_torrent ,remove_data):

reset_ip_filter([callback]):

Clears the ip filter

resume_all_torrents([callback]):

Resume all torrents in the session

resume_torrent(torrent_ids):

save_state([callback]):

Save the current session state to file.

set_config(config):

Set the config with values from dictionary

set_torrent_file_priorities(torrent_id ,priorities):

Sets a torrents file priorities

set_torrent_max_connections(torrent_id ,value):

Sets a torrents max number of connections

set_torrent_max_download_speed(torrent_id ,value):

Sets a torrents max download speed

set_torrent_max_upload_slots(torrent_id ,value):

Sets a torrents max number of upload slots

set_torrent_max_upload_speed(torrent_id ,value):

Sets a torrents max upload speed

set_torrent_private_flag(torrent_id ,value):

Sets a torrents private flag

set_torrent_trackers(torrent_id ,trackers):

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

shutdown([callback]):

Shutdown the core daemon