Simple Deluge Client
Project description
A lightweight pure-python rpc client for deluge. Note, does not support events and any additional replies from deluge will mess up the datastream.
Requirements
Deluge 1.3.x, 2.0 beta
Python 2.7, 3.4, 3.5, 3.6
Install
From GitHub (develop):
pip install git+https://github.com/JohnDoee/deluge-client.git#develop
From PyPi (stable):
pip install deluge-client
Usage
>>> from deluge_client import DelugeRPCClient >>> client = DelugeRPCClient('127.0.0.1', 12345, 'username', 'password') >>> client.connect() >>> client.connected True >>> client.call('core.get_torrents_status', {}, ['name']) {'79816060ea56d56f2a2148cd45705511079f9bca': {'name': 'TPB.AFK.2013.720p.h264-SimonKlose'}} >>> client.core.get_torrents_status({}, ['name']) {'79816060ea56d56f2a2148cd45705511079f9bca': {'name': 'TPB.AFK.2013.720p.h264-SimonKlose'}}
Idiom to use for automatic reconnect where the daemon might be offline at call time.
import time from deluge_client import DelugeRPCClient, FailedToReconnectException def call_retry(client, method, *args, **kwargs): # We will only try the command 10 times for _ in range(10): try: return client.call(method, *args, **kwargs) except FailedToReconnectException: # 5 second delay between calls time.sleep(5)
Idiom usage
client = DelugeRPCClient('127.0.0.1', 58846, 'username', 'password', automatic_reconnect=True) # The client has to be online when you start the process, # otherwise you must handle that yourself. client.connect() call_retry(client, 'core.get_torrents_status', {}, ['name'])
License
MIT, see LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
deluge-client-1.7.0.tar.gz
(9.8 kB
view hashes)
Built Distribution
Close
Hashes for deluge_client-1.7.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69eedaf787110be918500ff92990a08b296ec3dbba739e43571c3e2f878120f6 |
|
MD5 | 8cc81ba4127e3e0231683f9fbe302dc3 |
|
BLAKE2b-256 | 5159d020e04dd55ef8839d5edea878b6ea68b19e764daa288c28c789ce8a7c69 |