rtorrent unrar automatiskt?

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent unrar automatiskt?

Inlägg av Konservburk »

ScrotzaN skrev:Så antingen måste man lägga till rar saken på den tidigare on_finished (om det går?)
Skulle kunna gå. Typ så här i så fall:

Kod: Markera allt

on_finished = label,"execute=/path/to/unpack_rar.sh,$d.get_base_path= ;execute=mv,-u,$d.get_base_path=,$d.get_custom1= ;d.set_directory=$d.get_custom1="
eller

Kod: Markera allt

on_finished = label,"execute=mv,-u,$d.get_base_path=,$d.get_custom1= ;d.set_directory=$d.get_custom1= ;execute=/path/to/unpack_rar.sh,$d.get_custom1="
beroende på i vilken ordning du vill göra de olika sakerna.
ScrotzaN skrev:Eller så får man baka in allting i unrar scriptet.
Då måste du även skicka med $d.get_custom1= till skriptet som $2.

Kod: Markera allt

on_finished = label,"execute=/path/to/unpack_rar.sh,$d.get_base_path=,$d.get_custom1= ;d.set_directory=$d.get_custom1="
och sedan i själva skriptet:

Kod: Markera allt

#!/bin/sh
LOG="/dev/null"

mv -u "$1" "$2"
find "$2" -iregex '.*\.rar' -and -not -iregex '.*\.part[0-9]+.rar' \
   -or -iregex '.*\.part0*1\.rar' \
| while read RAR
do (
   cd "${RAR%/*}"
   unrar x "${RAR##*/}"
) done >>"$LOG"
eller om du vill göra det i omvänd ordning:

Kod: Markera allt

#!/bin/sh
LOG="/dev/null"

find "$1" -iregex '.*\.rar' -and -not -iregex '.*\.part[0-9]+.rar' \
   -or -iregex '.*\.part0*1\.rar' \
| while read RAR
do (
   cd "${RAR%/*}"
   unrar x "${RAR##*/}
) done >>"$LOG"
mv -u "$1" "$2""
ScrotzaN
Inlägg: 130
Blev medlem: 18 dec 2007, 20:09
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Sverige
Kontakt:

Re: rtorrent unrar automatiskt?

Inlägg av ScrotzaN »

aah! ska testa såfort ja kommer hem:)
ScrotzaN
Inlägg: 130
Blev medlem: 18 dec 2007, 20:09
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Sverige
Kontakt:

Re: rtorrent unrar automatiskt? [LÖST]

Inlägg av ScrotzaN »

haha! Fungerar skitbra!
Dock så fungerade det inte när jag lade flytt kommandot i rar scriptet. vet ej varför men.

Såhär fungerade det iaf:

Kod: Markera allt

schedule = watch_directory,5,5,"load_start=/path/to/*.torrent,d.set_custom1=/dit/filerna/hamnar"
schedule = watch_directory2,5,5,"load_start=/path/to/watch2/*.torrent,d.set_custom1=/dit/flerna/hamnar2"
Dessa två rader säger åt rtorrent vart den ska söka efter *.torrent filerna och "/dit/filerna/hamnar*" är där dom ska hamna när nedladdningen är klar.

Sen kommer:

Kod: Markera allt

on_finished = move_and_unrar,"execute=mv,-u,$d.get_base_path=,$d.get_custom1= ;d.set_directory=$d.get_custom1= ;execute=/path/to/unpack_rar.sh,$d.get_custom1="
Som först flyttar filerna och sedan kör unpack_rar.sh som packar upp .rar filerna.

Här är innehållet i unpack_rar.sh

Kod: Markera allt

#!/bin/sh
LOG="/dev/null"

find "$1" -iregex '.*\.rar' -and -not -iregex '.*\.part[0-9]+.rar' \
   -or -iregex '.*\.part0*1\.rar' \
| while read RAR
do (
   cd "${RAR%/*}"
   unrar x "${RAR##*/}"
) done >>"$LOG"
Denna filen kan man köra chmod a+x unpack_rar.sh på så kommer allting att fungera prima sen:)

Tack så mycket konservburk för hjälpen, extremt uppskattat:)
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent unrar automatiskt? [LÖST]

Inlägg av Konservburk »

ScrotzaN skrev:Dock så fungerade det inte när jag lade flytt kommandot i rar scriptet. vet ej varför men.
Jag misstänker att det beror på att $d.set_custom1 inte innehåller vad jag trodde. Det är ju något som du har satt själv, och jag bara gissade vad du hade satt den till.

Fint att det andra sättet gick bra iaf. :)
ScrotzaN
Inlägg: 130
Blev medlem: 18 dec 2007, 20:09
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Sverige
Kontakt:

Re: rtorrent unrar automatiskt?

Inlägg av ScrotzaN »

Tjo igen!

Ja kom på en grej, ifall man ändrar ordningen så att den packar upp filerna först och sedan flyttar dom... borde den vänta med att flytta filerna tills den har packat upp filerna klart då?

Håller på och testar det nu o måste gå till jobbet så ja hinner inte göra klart... så tacksam om du kan hinta om det borde funka eller ej:)
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent unrar automatiskt?

Inlägg av Konservburk »

ScrotzaN skrev:Ja kom på en grej, ifall man ändrar ordningen så att den packar upp filerna först och sedan flyttar dom... borde den vänta med att flytta filerna tills den har packat upp filerna klart då?
Jag tror att den väntar själv utan att du behöver göra något speciellt.
ScrotzaN
Inlägg: 130
Blev medlem: 18 dec 2007, 20:09
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Sverige
Kontakt:

Re: rtorrent unrar automatiskt?

Inlägg av ScrotzaN »

hmm, de verkar inte fungera så bra det där...

Kan man modifiera scriptet så att den packar upp filerna direkt till $d.get_custom1= istället bara?:)

EDIT: kan man göra så att ifall det är rar filer så packar den upp filerna till den angivna katalogen men om det inte är .rar filer så flyttar den dom bara?:)
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent unrar automatiskt?

Inlägg av Konservburk »

ScrotzaN skrev:hmm, de verkar inte fungera så bra det där...

Kan man modifiera scriptet så att den packar upp filerna direkt till $d.get_custom1= istället bara?:)
Du menar att du inte vill flytta på rar-filerna och istället packa upp till $d.get_custom1= eller vill du först flytta allt och sedan packa upp eventuella rar-filer? Anledningen till att det inte gick bra att ha allting direkt i skriptet var ju att jag inte vet vad du har gjort med d.set_custom1= och därför inte vet exakt vad $d.get_custom1= innehåller.
ScrotzaN skrev:EDIT: kan man göra så att ifall det är rar filer så packar den upp filerna till den angivna katalogen men om det inte är .rar filer så flyttar den dom bara?:)
Du kan göra precis som du vill. Men jag tror inte att jag fattat exakt vad du är ute efter. Som du hade nu så skulle den ju bara packa upp filer om det fanns någon rar, men alltid flytta oavsett om det fanns rar eller ej. Var det inte så du ville ha det?
ScrotzaN
Inlägg: 130
Blev medlem: 18 dec 2007, 20:09
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Sverige
Kontakt:

Re: rtorrent unrar automatiskt?

Inlägg av ScrotzaN »

Nej, förlåt.

Jag kom på att det var smidigare ifall den bara packar upp .rar filer till $d.get_custom1= då det är mappen som filerna ska flyttas till.

Men ifall att det inte finns några .rar filer så flyttar den filerna till $d.get_custom1= istället.

Så ifall det finns .rar filer packa upp dom till mappen som $d.get_custom1= pekar på.
Ifall det inte finns .rar filer flytta dom till mappen som $d.get_custom1= pekar på.

Förlåt för att jag är så krånglig. jag kanske ställer lite väl höga krav på hjälp nu, säg gärna till om jag går över gränsen :-[
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent unrar automatiskt?

Inlägg av Konservburk »

Så du vill alltså packa upp till $d.get_custom1= men låta rar-filerna ligga kvar där de låg från början? Då vill du ha det så här i skiptet:

Kod: Markera allt

...
   cd "$2"
   unrar x "$RAR"
...
Förutsatt att andra argumentet ($2) är satt till $d.get_custom1= när skriptet körs.
ScrotzaN
Inlägg: 130
Blev medlem: 18 dec 2007, 20:09
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Sverige
Kontakt:

Re: rtorrent unrar automatiskt?

Inlägg av ScrotzaN »

Sådär, ja börjar förstå hur det här fungerar nu.

Det är en sak som jag inte lyckas lista ut dock..

När jag kör mv kommandot så skulle jag vilja att den flyttar alla filer förutom rar filer eller enligt ett filter som jag kan ställa in själva.

så att det fungerar ungefär såhär:

mv -u * "förutom alla .rar filer och .sfv filer" /en/mapp/

t.ex.

Googlade lite på det igår men lyckades inte hitta någon vettig lösning på det så ja vet inte hur man enklast gör det.
Vet inte hurpass krångligt det är att göra heller.
Scriptet "fungerar" ju som det gör nu. det där är ju mera av en liten lyxfunktion bara om det är lätt att göra förstås.

Ska se om ja kan hitta nån bok om shell o bash scripting eller nåt o försöka lära mig lite själv också... kan ju vara bra att kunna...:)
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent unrar automatiskt?

Inlägg av Konservburk »

ScrotzaN skrev:När jag kör mv kommandot så skulle jag vilja att den flyttar alla filer förutom rar filer eller enligt ett filter som jag kan ställa in själva.

så att det fungerar ungefär såhär:

mv -u * "förutom alla .rar filer och .sfv filer" /en/mapp/
Det bästa sättet att "välja" filer enligt ett eget filter är att använda find-kommandot:

Kod: Markera allt

find . -maxdepth 1 -not -iregex '.*\.\(r\(ar\|[0-9][0-9]\)\|sfv\)'
Sedan skickar man vidare listan man får ut till något annat kommando, i ditt fall mv. För att mv ska kunna ta emot listan på ett bra sätt brukar man använda kommandot xargs:

Kod: Markera allt

find . -maxdepth 1 -not -iregex '.*\.\(r\(ar\|[0-9][0-9]\)\|sfv\)' -print0 | xargs -0 -i mv {} /en/mapp/
Detta kommer flytta alla filer som som ligger direkt i katalogen . och som inte slutar på .sfv, .rar, .r00, osv till /en/mapp/.
ScrotzaN
Inlägg: 130
Blev medlem: 18 dec 2007, 20:09
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Sverige
Kontakt:

Re: rtorrent unrar automatiskt?

Inlägg av ScrotzaN »

Ok, tror jag fattar.

om jag förstår det rätt så borde jag kunna göra som nedan?

find /home/blabla/blabla/ -maxdepth 1 -not -iregex '.*\.\(r\(ar\|[0-9][0-9]\)\|sfv\|nfo\|Sample\)' -print0 | xargs -0 -i mv {} /en/mapp/

jag byter ut första . mot mappen där den ska söka och sen kan jag lägga till fler ändelser på det sättet jag skrivit och även exkludera om det är en Sample mapp som i mitt exempel ovan?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent unrar automatiskt?

Inlägg av Konservburk »

Om du har en mapp som heter något ".Sample" så borde det funka som du har skrivit. Men om det inte ska finnas någon . innan Sample så behöver du ändra lite på din regex.
ScrotzaN
Inlägg: 130
Blev medlem: 18 dec 2007, 20:09
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Sverige
Kontakt:

Re: rtorrent unrar automatiskt?

Inlägg av ScrotzaN »

Aha, jag försöker igen här då, skulle det här fungera:

find /home/blabla/blabla/ -maxdepth 1 -not -iregex '.*\(.r\(ar\|[0-9][0-9]\)\|.sfv\|.nfo\|Sample\)' -print0 | xargs -0 -i mv {} /en/mapp/

Blir den modifikationen korrekt?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent unrar automatiskt?

Inlägg av Konservburk »

Nästintill... det funkar antagligen, men . matchar vilket tecken som helst. Vill du matcha exakt mot en "." så måste du skriva "\." istället.
ScrotzaN
Inlägg: 130
Blev medlem: 18 dec 2007, 20:09
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Sverige
Kontakt:

Re: rtorrent unrar automatiskt?

Inlägg av ScrotzaN »

aah:)

find /home/blabla/blabla/ -maxdepth 1 -not -iregex '.*\(\.r\(ar\|[0-9][0-9]\)\|.sfv\|.nfo\|Sample\)' -print0 | xargs -0 -i mv {} /en/mapp


så, med andra ord?:)
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent unrar automatiskt?

Inlägg av Konservburk »

Du vill nog även ha \. innan sfv och nfo.
ScrotzaN
Inlägg: 130
Blev medlem: 18 dec 2007, 20:09
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Sverige
Kontakt:

Re: rtorrent unrar automatiskt?

Inlägg av ScrotzaN »

justja! det glömde jag:)

Tack så mycket för hjälpen iallafall.
ScrotzaN
Inlägg: 130
Blev medlem: 18 dec 2007, 20:09
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Sverige
Kontakt:

Re: rtorrent unrar automatiskt?

Inlägg av ScrotzaN »

Då ska vi se.. nu har ja tänkt till litegranna. då borde det blir såhär alltså:

Kod: Markera allt

on_finished = move_and_unrar,"execute=find,$d.get_base_path=,-maxdepth,1,-not,-iregex,'.*\(\.r\(ar\|[0-9][0-9]\)\|\.sfv\|\.nfo\|Sample\)',-print0,|,xargs,-0,-i,mv,{},$d.get_custom1= ;d.set_directory=$d.get_custom1= ;execute=/home/aron/unpack_rar.sh,$d.get_base_path=,$d.get_custom1="
och sen i unpack_rar.sh

Kod: Markera allt

#!/bin/sh
LOG="/dev/null"

find "$1" -iregex '.*\.rar' -and -not -iregex '.*\.part[0-9]+.rar' \
   -or -iregex '.*\.part0*1\.rar' \
| while read RAR
do (
	cd "$2"
	unrar x "$RAR"
#   cd "${RAR%/*}"
#   unrar x "${RAR##*/}"
) done >>"$LOG"
Jag kommenterade bort de två gamla raderna i scriptet bara, de borde väl funka?
Skriv svar

Återgå till "Terminalforum"