Sida 8 av 8

Re: rtorrent unrar automatiskt?

Postat: 03 jan 2010, 17:37
av squalus
Efter att ha suttit och pillat med detta hela helgen måste jag tillslut ställa min fråga för nu är hjärnan som deg och jag tror att jag har provat allt. Just nu ser mina skript ut så här:

Kod: Markera allt

#Extract rar
system.method.set_key = event.download.finished,unpack_rar,"execute=/home/xxxx/bin/unpackrar.sh,$d.get_base_path=,$d.get_custom1="
och:

Kod: Markera allt

#!/bin/bash
test -z "$2" && exit
FILE=$(unrar vb "$1/*")
case $(echo "$FILE" | wc -l) in
1)
   yes no | nice -n 15 unrar e -r "$1/*" "$2"
   mv -f "$2/${FILE##*/}" "$2/${1##*/}.${FILE##*.}"
;;
*)
   yes no | nice -n 15 unrar x -r "$1/*" "$2"
;;
esac >&- 2>&- &

#Funktion som ska skicka ett mail till min mobiltelefon när nedladdningen är färdig.
echo "$(date) : $1 - Download completed." | mail -s "[rtorrent] - Download completed : $1" mobil@xxxx.se

De färdiga nedladdningarna ligger i: /home/samba/downloads/torrents/download/movies/
Och jag vill ha de upppackade filerna i: /home/samba/downloads/movies/

Tack på förhand

Re: rtorrent unrar automatiskt?

Postat: 03 jan 2010, 20:05
av abandonow
Det må du definere på watch folderne.

Kod: Markera allt

schedule = A,1,5,"load_start=/home/samba/downloads/torrents/download/movies/*.torrent,d.set_directory=home/samba/downloads/torrents/download/movies/,d.set_custom1=/home/samba/downloads/movies/"

Re: rtorrent unrar automatiskt?

Postat: 03 jan 2010, 21:22
av squalus
TACK TACK, jag hade watch på mapparna men hade glömt d.set_custom1 men nu funkar det iaf!

En liten extra fråga bara, vad betyder x och y i schedule-kommandot?
schedule = watch_music,X,Y,"load....

Re: rtorrent unrar automatiskt?

Postat: 30 jan 2010, 09:39
av gymmarn
abandonow skrev:Det må du definere på watch folderne.

Kod: Markera allt

schedule = A,1,5,"load_start=/home/samba/downloads/torrents/download/movies/*.torrent,d.set_directory=home/samba/downloads/torrents/download/movies/,d.set_custom1=/home/samba/downloads/movies/"
Man behöver inte definera variabler för att använda scriptet. Jag tycker det är enklare att bara köra plaintext så man vet vad som händer:

Kod: Markera allt

#unrar
system.method.set_key = event.download.finished,unpack_rar,"execute=/home/xxxx/bin/unpackrar.sh,/home/samba/downloads/torrents/download/movies/,/home/samba/downloads/movies/"
--

Har programmerat ihop ett eget uppackningsscript som kan vara av intresse för vissa. Scriptet går in i mappen som rtorrent tillhandahåller och letar sig sedan ned i katalogstrukturen och packar upp både .rar samt .001 med unrar. Hittar scriptet åt zip filer så packar den upp den var för sig och kollar sen en gång till i mappen om det finns .rar eller .001 filer och isåfall packar den upp även dem. Den packar upp filerna i den mapp som den hittar åt dem i.

Man anropar scriptet enkelt i rtorrent med följande kommando (funkar för rtorrent 0.8.4 och nyare)

Kod: Markera allt

system.method.set_key = event.download.finished,unpack_rar,"execute=~/unrar_files.sh,$d.get_base_path="
Man måste klippa in den här koden i en ny fil som man döper till unrar_files.sh
T ex (kör hos användaren som ska köra rtorrent):
vim unrar_files.sh

Klipp in:

Kod: Markera allt

#!/bin/bash
#Skapat av Gymmarn 2010-02-04
#Variabel $1 är den mapp som skickas med till scriptet
#Leta reda på och repetera för alla kataloger vi hittar
for directory in $(find $1 -type d); do
        #Kolla om det finns .rar filer och packa upp den
        if [ "$(ls $directory | fgrep -i .rar)" ]; then
                rarFile=`ls $directory | fgrep -i .rar`;
                searchPath="$directory/$rarFile"
                yes no | nice -n 15 unrar x -o+ $searchPath $directory
        #Kolla om det finns .001 filer och packa upp den
        elif [ "$(ls $directory | fgrep -i .001)" ]; then
                rarFile=`ls $directory | fgrep -i .001`;
                searchPath="$directory/$rarFile"
                yes no | nice -n 15 unrar x -o+ $searchPath $directory
        #Kolla om det finns .zip filer och packa upp dem separat
        elif [ "$(ls $directory | fgrep -i zip)" ]; then
                for zipFiles in `ls $directory | fgrep -i zip`; do
                        searchPath="$directory/$zipFiles"
                        yes no | nice -n 15 unzip -n $searchPath -d $directory
                done
                #Oftast finns det rar eller 001 filer inbakade med zip så kolla igen
                if [ "$(ls $directory | fgrep -i .rar)" ]; then
                rarFile=`ls $directory | fgrep -i .rar`;
                searchPath="$directory/$rarFile"
                yes no | nice -n 15 unrar x -o+ $searchPath $directory
                #Kolla om det finns .001 filer och packa upp den
                elif [ "$(ls $directory | fgrep -i .001)" ]; then
                rarFile=`ls $directory | fgrep -i .001`;
                searchPath="$directory/$rarFile"
                yes no | nice -n 15 unrar x -o+ $searchPath $directory
                fi
        fi
done
Gör unrar_files.sh körbar (typ .exe fil i windows):
chmod a+x unrar_files.sh

Hoppas någon får glädje av detta.

Re: rtorrent unrar automatiskt?

Postat: 06 maj 2010, 00:12
av zaphman
Jag var också inne på detta och skapade ett relativt generellt vertyg för detta, kolla http://www.gno.se/blog/?p=126. Kallar det btprocess ::)