deluge управление скриптом

От торрентов до фринета

Модератор: /dev/random

liaonau
Сообщения: 390
ОС: gentoo

deluge управление скриптом

Сообщение liaonau »

Кроме трех интерактивных ui для deluge, им можно управлять и императивно — скриптами на python. Вот скрипт, который позволяет установить максимум активных раздач/загрузок, http://forum.deluge-torrent.org/viewtopic....459&start=0. Но я хотел бы по одному хоткею переключать этот максимум циклически 0/n и выводить информацию в статусбар. Для этого надо скрипт, позволяющий не установить, а узнать значение. Проблема в том, что я абсолютно не знаю python (кроме Monty ☺).
Может быть кто-нибудь реализовал что-то похожее?
Спасибо сказали:
liaonau
Сообщения: 390
ОС: gentoo

Re: deluge управление скриптом

Сообщение liaonau »

liaonau писал(а):
10.01.2011 22:55
Может быть кто-нибудь реализовал что-то похожее?

Довольно забавно писать на неизвестном языке. Мне подойдет так:

Код: Выделить всё

#!/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()
Спасибо сказали:
Аватара пользователя
radial
Сообщения: 577
ОС: OpenSUSE

Re: deluge управление скриптом

Сообщение radial »

А что, Deluge уже перестал грузить проц 100%?
Спасибо сказали:
liaonau
Сообщения: 390
ОС: gentoo

Re: deluge управление скриптом

Сообщение liaonau »

radial писал(а):
12.01.2011 15:38
А что, Deluge уже перестал грузить проц 100%?

А что же остается? Демон + разные 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)
Спасибо сказали:
Аватара пользователя
radial
Сообщения: 577
ОС: OpenSUSE

Re: deluge управление скриптом

Сообщение radial »

грузила вроде как его графическая морда deluge-gtk. Но я особо разбираться не стал и пересел на трансмишен.
Спасибо сказали: