Sie können die Auslöser und Skriptfunktionen von rtorrent verwenden.
Ich habe nicht genau das gemacht, was Sie für mich selbst verlangen, sondern ähnliche Dinge. Ich habe zB eine Sitzung mit den folgenden Einträgen in rtorrent.rc
:
schedule = watch_directory_1,10,10, "load_start=/path/to/watch/folder/*.torrent, d.set_custom1=$execute_capture={/path/to/external/script}, d.set_custom2=1" system.method.set_key = event.download.finished, move_complete, "d.set_directory=$d.get_custom1= ; execute=mv,-u, $d.get_base_path=, $d.get_custom1= ; execute=/path/to/another/external/script, $d.get_name=, $d.get_custom1=, $d.get_custom2="
(Zeilenumbrüche wurden aus Gründen der Übersichtlichkeit hinzugefügt).
Dies verschiebt fertige Downloads in einen Pfad $d.get_custom1
, der beim Start der Downloads festgelegt ist (ignore $d.get_custom2
- wird für einen anderen Zweck verwendet, aber ich halte es als Beispiel).
Wie Sie sehen, werden externe Skripts ausgeführt und deren Rückgabewerte von rtorrent abgefangen. Durch externe Skripte, die den Überblick über das, was Sie heruntergeladen haben (z. B. das Schreiben von Hash- oder Dateinamen in eine Protokolldatei / Datenbank für abgeschlossene Downloads), führen und neue Downloads anhand dieser Liste ( grep
oder des DB-Dienstprogramms) prüfen und darauf reagieren, können Sie erreichen, was Sie wollen.
Ein vollständiger Verlust der Skriptfunktionen von rtorrent ist viel zu umfangreich - siehe Handbuch und Online-Ressourcen. Ich sage nicht, dass es selbstverständlich oder einfach ist - sicherlich nicht - aber es ist möglich :-).