Rtorrent - menadżer pobra

Tematy związane z oprogramowaniem, instalacją, konfiguracją
Chris
Posty: 17
Rejestracja: 01 kwietnia 2010, 13:19

Rtorrent - menadżer pobrań

Post autor: Chris »

Witam.

Na wstępie zaznaczam, że od niedawna zacząłem przygodę z Linuksem.
Z tego co zauważyłem rtorrent nie ma możliwości ustawienia ile torrentów ma ściągać od razu i znalazłem pewną stronę http://stabellini.net/rtorrent-howto.txt ale coś nie działa.

Mam tak:

Kod: Zaznacz cały

watch = "/media/sda5/rtorrent/torrenty"
session = "/media/sda5/rtorrent/session"
queue = "/media/sda5/rtorrent/loading"
max_downloads_file = "/media/sda5/rtorrent/max_downloads"
max_downloads = 1
Watch i session też mam tak ustawione w rtorrencie.
Ktoś wie jak to zrobić aby funkcjonowało? A może ktoś zna inny sposób?

Z góry dziękuję za pomoc.
Awatar użytkownika
szmergiell
Beginner
Posty: 195
Rejestracja: 20 maja 2008, 00:16
Lokalizacja: Poznań

Post autor: szmergiell »

Chris, rozumiem, że chcesz ustawić maksymalne pobieranie jednego pliku na raz, czy tak? Czy wykorzystałeś do tego plik pythonowy, czy może wkleiłeś ustawienia do pliku konfiguracyjnego rtorrent (tak zrozumiałem z treści wiadomości)?

Edycja:

Kod: Zaznacz cały

#!/usr/bin/env python

# Now you can dynamically change the maximum number of simultaneous
# downloads writing the new number to the file "max_downloads_file" and
# then sending a signal SIGHUP to the rtorrentqueuemanager process.

import glob
import stat
import os
import shutil
import time
import signal

watch = "/share/storage/rtorrent/watch"
session = "/share/storage/rtorrent/session"
queue = "/share/storage/rtorrent/loading"
max_downloads_file = "/share/storage/rtorrent/max_downloads"
max_downloads = 2

def handler_sighup(signum, frame):
    f = open(max_downloads_file, "r")
    max_downloads = int(f.readline())
    f.close()

#### START
signal.signal(signal.SIGHUP, handler_sighup)
while True:
    time.sleep(60)
    bz2files = glob.glob(queue + "/*.torrent.bz2")
    for i in bz2files :
        os.system('bzip2 -d ' + i)
    gzipfiles = glob.glob(queue + "/*.torrent.gz")
    for i in gzipfiles :
        os.system('gunzip ' + i)
    sfiles = glob.glob(session + "/*.torrent")
    oldesttime = 0
    oldestfile = ""
    if len(sfiles) < max_downloads :
        qfiles = glob.glob(queue + "/*.torrent")
        for i in qfiles :
            ftime = os.stat(i)[stat.ST_MTIME]
            if oldesttime == 0 or ftime < oldesttime :
                oldesttime = ftime
                oldestfile = i
        if oldestfile != "" :
            shutil.move(oldestfile, watch)
Powyższy kod powinieneś wkleić do pliku: rtorrentqueuemanager.py, następnie uruchomić rtorrenta i dopiero na koniec, poleceniem

Kod: Zaznacz cały

python rtorrentqueuemanager.py &
gdzie
python - nazwa interpretatora języka (niech mnie ktoś w razie czego poprawi)
rtorrentqueuemanager.py - nazwa pliku uruchamianego
& - dodanie tego znaku na końcu powoduje wykonywanie kodu w tle, dzięki czemu możesz zamknąć konsolę bez niebezpieczeństwa zamknięcia programu.
Chris
Posty: 17
Rejestracja: 01 kwietnia 2010, 13:19

Post autor: Chris »

Zgadza się, maksymalne pobieranie chcę ustawić aby pobierał jeden torrent, reszta czekała w kolejce. Tak mam zrobione i właśnie nie działa. Tego skryptu pythonowego nie napisałem w rtorrent.rc.

Mam tak w rtorrentqueuemanager.py

Kod: Zaznacz cały

watch = "/media/sda5/rtorrent/torrenty"
session = "/media/sda5/rtorrent/session"
queue = "/media/sda5/rtorrent/loading"
max_downloads_file = "/media/sda5/rtorrent/max_downloads"
max_downloads = 1
Ta sama lokalizacja watch i session w rtorrent.rc.
Awatar użytkownika
szmergiell
Beginner
Posty: 195
Rejestracja: 20 maja 2008, 00:16
Lokalizacja: Poznań

Post autor: szmergiell »

Chris, ale co nie trybi? Udało się tobie uruchomić skrypt pythonowy? Czy wyskakują wtedy błędy? A może nie chce przenosić? Albo wszystko od razu wrzuca do rtorrenta? Więcej szczegółów, potrzeba więcej szczegółów.
Chris
Posty: 17
Rejestracja: 01 kwietnia 2010, 13:19

Post autor: Chris »

Python odpala bez problemu,

Kod: Zaznacz cały

kriss@debian:~$ python rtorrentqueuemanager.py &
[1] 17945
ściąga wszystko na raz. Niezależnie ile torrentów załaduję. Wrzucam pliki do torrenty, próbowałem też do katalogu ,,loading'' i ,,max_downloads'' ale nic nie robi.
ODPOWIEDZ