Кроме трех интерактивных ui для deluge, им можно управлять и императивно — скриптами на python. Вот скрипт, который позволяет установить максимум активных раздач/загрузок, http://forum.deluge-torrent.org/viewtopic....459&start=0. Но я хотел бы по одному хоткею переключать этот максимум циклически 0/n и выводить информацию в статусбар. Для этого надо скрипт, позволяющий не установить, а узнать значение. Проблема в том, что я абсолютно не знаю python (кроме Monty ☺).
Может быть кто-нибудь реализовал что-то похожее?
deluge управление скриптом
Модератор: /dev/random
-
- Сообщения: 390
- ОС: gentoo
Re: deluge управление скриптом
Довольно забавно писать на неизвестном языке. Мне подойдет так:
Код: Выделить всё
#!/usr/bin/python
from deluge.ui.client import client
from twisted.internet import reactor
d = client.connect()
def on_connect_success(result):
def on_get_config_values(t):
for k, v in t.items():
print k, '=', v
client.disconnect()
reactor.stop()
config = client.core.get_config_values('max_active_downloading', 'max_active_seeding'])
config.addCallback(on_get_config_values)
d.addCallback(on_connect_success)
def on_connect_fail(result):
print "Connection failed!"
d.addErrback(on_connect_fail)
reactor.run()
-
- Сообщения: 577
- ОС: OpenSUSE
Re: deluge управление скриптом
А что, Deluge уже перестал грузить проц 100%?
-
- Сообщения: 390
- ОС: gentoo
Re: deluge управление скриптом
А что же остается? Демон + разные ui по выбору + управление через fifo — самая вменяемая модель торрента. У deluge 2 из 3. Есть ли что-нибудь с 3 из 3?
Я недавно перешел с rtorrent, не застал времени когда deluge процессор грузил. Просто демон — меньше процента (0% в htop), web-ui — 1-2%, но ui надо редко. Собственно чтобы ui надо было еще реже я и собираюсь останавливать/запускать скриптом.
Немного переделал: по ключу -c переключает 0/4 активные загрузки и сиды, без ключа — выводит текущие настройки. Вот, может кому-нибудь пригодится:
Код: Выделить всё
#!/usr/bin/python
from sys import stderr, exit
from deluge.ui.client import client
from twisted.internet import reactor
from optparse import OptionParser
d = client.connect()
s = {'max_active_downloading': 0 , 'max_active_seeding': 0}
parser = OptionParser()
parser.add_option("-c", dest="set", action="store_true", default=False)
set = False
(options, args) = parser.parse_args()
if options.set:
set = True
def on_connect_success(result):
def on_get_config_values(t):
if set:
for k, v in t.items():
if v:
s[k] = 0
else:
s[k] = 4
print "%s=%s" % (k, s[k])
def on_set_config(value, key):
client.disconnect()
reactor.stop()
config = client.core.set_config(s)
config.addCallback(on_set_config, s)
else:
for k, v in t.items():
print "%s=%s" % (k, v)
client.disconnect()
reactor.stop()
config = client.core.get_config_values(['max_active_downloading', 'max_active_seeding'])
config.addCallback(on_get_config_values)
d.addCallback(on_connect_success)
def on_connect_fail(result):
stderr.write ("Connection failed!\n")
exit(1)
-
- Сообщения: 577
- ОС: OpenSUSE
Re: deluge управление скриптом
грузила вроде как его графическая морда deluge-gtk. Но я особо разбираться не стал и пересел на трансмишен.