Strona 1 z 1
Rtorrent - menadżer pobrań
: 01 kwietnia 2010, 13:37
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.
: 01 kwietnia 2010, 14:33
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
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.
: 01 kwietnia 2010, 14:47
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.
: 01 kwietnia 2010, 14:50
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.
: 01 kwietnia 2010, 15:02
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.