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 »

unpack_rar.sh ser helt ok ut. Jag vågar egentligen inte säga något om det du har i on_finished, men jag tycker det verkar konstigt att du tar med d.set_directory=$d.get_custom1= trots att du inte flyttar på rar-filerna.
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 »

Ja, den raden blev kvar sen förra sättet scriptet fungerade på.

Men ska väl testa sen såfort jag fått ordning på hardy hur allting funkar.
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 »

on_finished raden verkade inte fungera iallafall.

Har inte haft tid att modifiera den för att se om jag får någon ordning på det.

Scriptet fungerar ju iaf som det är nu ändå så:)
djkmmo
Inlägg: 1904
Blev medlem: 20 jun 2008, 18:09
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: Malmö

Re: rtorrent unrar automatiskt?

Inlägg av djkmmo »

Hej!

Försöker få till ett liknande uppsättning själv nu och det är ett par saker som jag inte får klarhet i.

1) Hur sätts "d.get_custom1"? Jag kanske inte förstårr syntaxen i rtorrent.rc riktigt, men jag tolkar följande: "d.set_directory=$d.get_custom1" som att d.get_custom1 ges värdet som i en tidigare schedule-statement satts till mappen dit torrent-filen laddats ned. Är det korrekt? ELLER är det så att "d.set_directory" är underkatalogen dit rar-filerna laddas ner?

Det jag vill göra är egentligen väldigt enkelt. Jag laddar ner till en mapp och vill låta alla filer som är relaterade till *.torrentfilen ligga kvar i sin nedladdningsmapp, så att jag kan fortsätta seeda, men packa upp till en annan mapp. Jag har kommit så pass långt att jag förstått att följande bör finnas med i rtorrent.rc:

Kod: Markera allt

on_finished = packa_upp_film,"execute=/home/djk/bin/unpack_torrent_rar.sh,$d.get_base_path=,$d.get_custom1= 
och att skriptet bör de ut något åt det här hållet:

Kod: Markera allt

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

if [ "$1" = "/home/djk/nedladdat/film" ]; then
	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"
	) done >>"$LOG"
fi
Men som sagt måste ju d.get_custom1 (katalogen dit filerna skall packas upp) definieras någonstans. Jag skulle ju kunna använda "create_link" i "on_finished", men risken är ju att jag till slut sitter med en massa iso-filer som jag glömmer att ta bort efter att jag raderat de symboliska länkarna, så jag vill helst inte göra så.

Föresten Konservburk, var har du hittat infon om rtorrent.rc-syntaxen? Jag har läst manualen och på rtorrents hemsida, men dokumentationen verkar inte vara helt färdigställd.

EDIT det som är rakt framför ögonen är det man har svårast att se, inte sant. d.get_custom1 behöver ju inte sättas eftersom att alla filer skall packas upp till samma katalog, så skriptet blir istället:

Kod: Markera allt

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

if [ "$1" = "/home/djk/nedladdat/film" ]; then
	find "$1" -iregex '.*\.rar' -and -not -iregex '.*\.part[0-9]+.rar' -or -iregex '.*\.part0*1\.rar' | while read RAR
	do (
	    cd /home/djk/"Från Film"
	    unrar x "$RAR"
	) done >>"$LOG"
fi
Korrekt?

PS. Men jag är fortfarande intresserad av svaret på frågorna, även om jag kanske inte har någon direkt praktisk användning av det just nu. DS

EDIT 2 *Tänker högt* Och det går inte alls det, för $1 kommer aldrig att vara "/home/djk/nedladdat/film" utan en underkatalog till det. Hur löser jag det? Expanderas if-satsen om jag istället skriver:

Kod: Markera allt

if [ "$1" = "/home/djk/nedladdat/film/*" ]; then
Annars kanske det bästa är att definiera "d.get_custom1=" som just "d.set_directory", förutsatt att min första tolkning i punkt (1) ovan stämmer och köra testet mot $2?
Senast redigerad av 1 djkmmo, redigerad totalt 4 gånger.
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.getcustom eller vad den heter definieras på ett annat ställe.

jag antar att du först har definierat flera mappar som den ska kolla efter torrents i?

där sätter du ju samtidigt vilken mapp som den ska lägga filerna i när nedladdningen är klar.
Det är det värdet som blir d.custom.

Dock så gav jag upp på att få dom att packa upp automatiskt.
Min server blev cp av det. Ibland så kunde den börja packa upp filer som redan var uppackade och ibland så fortsatte processen att vara igång och ta upp max CPU trots att filerna var klara för längesen.
Då lära jag döda processen.
Så jag är nöjd nu genom att den flyttar filerna till rätt mapp så packar jag upp filerna själv sen.

Försökte förgäves o hitta vad som var fel i koden men kunde inte hitta något. Det verkade vara intermittent ibland också så... beats me.
djkmmo
Inlägg: 1904
Blev medlem: 20 jun 2008, 18:09
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: Malmö

Re: rtorrent unrar automatiskt?

Inlägg av djkmmo »

ScrotzaN skrev:d.getcustom eller vad den heter definieras på ett annat ställe.

jag antar att du först har definierat flera mappar som den ska kolla efter torrents i?

där sätter du ju samtidigt vilken mapp som den ska lägga filerna i när nedladdningen är klar.
Det är det värdet som blir d.custom.

Dock så gav jag upp på att få dom att packa upp automatiskt.
Min server blev cp av det. Ibland så kunde den börja packa upp filer som redan var uppackade och ibland så fortsatte processen att vara igång och ta upp max CPU trots att filerna var klara för längesen.
Då lära jag döda processen.
Så jag är nöjd nu genom att den flyttar filerna till rätt mapp så packar jag upp filerna själv sen.

Försökte förgäves o hitta vad som var fel i koden men kunde inte hitta något. Det verkade vara intermittent ibland också så... beats me.
Aha! Min schedule rad ser ut som följer:

Kod: Markera allt

schedule = watch_filmer,5,5,"load_start=/home/djk/torrents/filmer/*.torrent,d.set_directory=/home/djk/nedladdat/film"
Tolkar jad det rätt om jag säger att "$d.set_directory=/home/djk/nedladdat/film" och "$d.get_custom1=/home/djk/nedladdat/film/underkatalog_med_rar"? Men vad är i så fall "$d.get_base_path="? är det också "/home/djk/torrents/filmer", fast som en fast definierad variabel?

Jag får krupp av det här... ::)
djkmmo
Inlägg: 1904
Blev medlem: 20 jun 2008, 18:09
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: Malmö

Re: rtorrent unrar automatiskt?

Inlägg av djkmmo »

Jag kanske börjar förstå... Om jag istället gör följande:

Kod: Markera allt

schedule = watch_filmer,5,5,"load_start=/home/djk/torrents/filmer/*.torrent,d.set_directory=/home/djk/nedladdat/film"
schedule = watch_filmer_1,5,5,"load_start=/home/djk/torrents/filmer/*.torrent,d.set_directory=/home/djk/nedladdat/film_1
schedule = watch_filmer_2,5,5,"load_start=/home/djk/torrents/filmer/*.torrent,d.set_directory=/home/djk/nedladdat/film_2"
schedule = watch_filmer_3,5,5,"load_start=/home/djk/torrents/filmer/*.torrent,d.set_directory=/home/djk/nedladdat/film_3"
...

Kod: Markera allt

on_finished = packa_upp_film,"execute=/home/djk/bin/unpack_torrent_rar.sh,$d.get_base_path=,$d.set_directory="
...

Kod: Markera allt

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

if [ "$2" = "/home/djk/nedladdat/film" ]; then
	find "$1" -iregex '.*\.rar' -and -not -iregex '.*\.part[0-9]+.rar' -or -iregex '.*\.part0*1\.rar' | while read RAR
	do (
	    cd /home/djk/"Från Film"
	    unrar x "$RAR"
	) done >>"$LOG"
fi
Blir det rätt då? Alltså:
1) d.set_directory sätts till "/home/djk/nedladdat/film" - "/home/djk/nedladdat/film_3", beroende på vilken torrent-filkatalog som startat nedladdningen, s.a.s.
2) Via "on_finished" överförs "d.set_directory" som variabel två till skriptet, som omm $d.set_directory=/home/djk/nedladdat/film letar upp *.rar-filerna i "d.get_base_path", som är fast definierad som underkataloger till "d.set_directory" och annars avslutar skriptet (det som laddas ned till ~/nedladdat/film_1 - ~/nedladdat/film_3 skall inte packas upp).
3) Flyttar till /home/djk/"Från Film" och packar upp de funna *.rar-filerna där.

Har jag fattat rätt?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent unrar automatiskt?

Inlägg av Konservburk »

djkmmo skrev:Det jag vill göra är egentligen väldigt enkelt. Jag laddar ner till en mapp och vill låta alla filer som är relaterade till *.torrentfilen ligga kvar i sin nedladdningsmapp, så att jag kan fortsätta seeda, men packa upp till en annan mapp.
Eftersom det hela har blivit ganska förvirrat nu så tycker jag att vi tar om det hela från början.

1) Du har olika data-kataloger där de nerladdade sakerna hamnar.
2) I en av dessa kataloger ska allting packas upp till en annan katalog när nerladdningen är klar.

Först vill du ha en rad i rtorrents config-fil som startar ett skript precis när en nerladding blir klar:

Kod: Markera allt

on_finished = unpack_rar,"execute=/unpack_rar.sh,$d.get_base_path="
Detta startar skriptet /unpack_rar.sh och skickar med torrentens data-katalog $d.get_base_path= som argumentet "$1". Själva skriptet behöver egentligen inte alls vara speciellt komplicerat. Det räcker ju i princip att kolla om det är rätt data-katalog och sedan helt enkelt packa upp allting:

Kod: Markera allt

#!/bin/bash
case "$1" in "/katalogA") yes no | unrar x -r "$1/*.rar" "/katalogB"; esac >&- 2>&- &
djkmmo
Inlägg: 1904
Blev medlem: 20 jun 2008, 18:09
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: Malmö

Re: rtorrent unrar automatiskt?

Inlägg av djkmmo »

Konservburk skrev:
djkmmo skrev:Det jag vill göra är egentligen väldigt enkelt. Jag laddar ner till en mapp och vill låta alla filer som är relaterade till *.torrentfilen ligga kvar i sin nedladdningsmapp, så att jag kan fortsätta seeda, men packa upp till en annan mapp.
Eftersom det hela har blivit ganska förvirrat nu så tycker jag att vi tar om det hela från början.

1) Du har olika data-kataloger där de nerladdade sakerna hamnar.
2) I en av dessa kataloger ska allting packas upp till en annan katalog när nerladdningen är klar.

Först vill du ha en rad i rtorrents config-fil som startar ett skript precis när en nerladding blir klar:

Kod: Markera allt

on_finished = unpack_rar,"execute=/unpack_rar.sh,$d.get_base_path="
Detta startar skriptet /unpack_rar.sh och skickar med torrentens data-katalog $d.get_base_path= som argumentet "$1".
Och vad är då "d.get_base_path", är det:
a/ /home/djk/nedladdat/film ELLER
b/ /home/djk/nedladdat/film/{underkatalog där *.rar-filerna sparats}
Förutsatt att "schedule = watch_filmer,5,5,"load_start=/home/djk/torrents/filmer/*.torrent,d.set_directory=/home/djk/nedladdat/film""?
Konservburk skrev:Själva skriptet behöver egentligen inte alls vara speciellt komplicerat. Det räcker ju i princip att kolla om det är rätt data-katalog och sedan helt enkelt packa upp allting:

Kod: Markera allt

#!/bin/bash
case "$1" in "/katalogA") yes no | unrar x -r "$1/*.rar" "/katalogB"; esac >&- 2>&- &
Men hur vet då rar var filerna skall packas upp? Tanken är lite att jag skall kunna bygga ut efterhand och då vore det ju bra att även ge "katalogA/" "katalogB/" som variablar via rtorrent.rc snarare än som fixa värden i skriptet. Då behöver jag ju bara komma ihåg att ändra på ett ställe (jag är snart 35 så jag börjar bli lite senil ;)).

Skall det inte vara ";;" innan "esac", efter "katalogB"?
Senast redigerad av 1 djkmmo, redigerad totalt 4 gånger.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent unrar automatiskt?

Inlägg av Konservburk »

djkmmo skrev:
Konservburk skrev:

Kod: Markera allt

#!/bin/bash
case "$1" in "/katalogA") yes no | unrar x -r "$1/*.rar" "/katalogB"; esac >&- 2>&- &
Men hur vet då rar var filerna skall packas upp?
De packas upp i /katalogB så som det är skrivet nu. Kolla i hjälpen för unrar om du är osäker på syntax.
djkmmo
Inlägg: 1904
Blev medlem: 20 jun 2008, 18:09
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: Malmö

Re: rtorrent unrar automatiskt?

Inlägg av djkmmo »

Omman gör något åt det här hållet, skulle det funka?

rtorrent.rc:

Kod: Markera allt

schedule = watch_filmer,5,5,"load_start=/home/djk/torrents/filmer/*.torrent,d.set_directory=/home/djk/nedladdat/film,d.set_unpack_dir=/home/djk/"Från Film""
schedule = watch_dokument,5,5,"load_start=/home/djk/torrents/dokument/*.torrent,d.set_directory=/home/djk/nedladdat/dokument,d.set_unpack_dir=/home/djk/dokument"
...
on_finished = packa_upp_film,"execute=/home/djk/bin/unpack_torrent_rar.sh,$d.get_base_path=,$d.set_unpack_dir="

Kod: Markera allt

#!/bin/bash
if [ "$2" != "" ]; then
	unrar x -r "$1/*.rar" "$2"
fi
Min tanke är att jag sätter d.set_unpack_dir i rtorrent.rc och om den inte är satt så görs inget, men jag vet ju egentligen inte om d.set_unpack_dir alls går att sätta... En förutsättning är förstås också att "d.set_unpack_dir" sätts på basis av "d.get_base_path", så att det antingen packas upp i t.ex. "Från Film" eller "dokument".

Jag har fortfarande inte förstått om "d.get_base_path" är
a/ /home/djk/nedladdat/film ELLER
b/ /home/djk/nedladdat/film/{underkatalog där *.rar-filerna sparats}
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent unrar automatiskt?

Inlägg av Konservburk »

djkmmo skrev:

Kod: Markera allt

schedule = watch_filmer,5,5,"load_start=/home/djk/torrents/filmer/*.torrent,d.set_directory=/home/djk/nedladdat/film,d.set_unpack_dir=/home/djk/"Från Film""
...
on_finished = packa_upp_film,"execute=/home/djk/bin/unpack_torrent_rar.sh,$d.get_base_path=,$d.set_unpack_dir="
Det finns inget som heter "d.set_unpack_dir" i rtorrent. Om du vill använda "egna" variabler så är det d.set_custom1, d.get_custom1 och motsvarande för andra siffror som gäller.
djkmmo skrev:

Kod: Markera allt

#!/bin/bash
if [ "$2" != "" ]; then
	unrar x -r "$1/*.rar" "$2"
fi
Oavsett exakt hur ditt skript ser ut så vill du ha med alla de konstiga &-tecknen som finns i slutet av skriptet i mitt förra inlägg. Utan dem så kommer rtorrent att låsa sig under uppackningen.
djkmmo skrev:Jag har fortfarande inte förstått om "d.get_base_path" är
a/ /home/djk/nedladdat/film ELLER
b/ /home/djk/nedladdat/film/{underkatalog där *.rar-filerna sparats}
Du kan anväda d.get_directory om du vill ha tag i katalogen som sattes med d.set_directory. När det gäller d.get_base_path så ingår även nästa katalognivå.
djkmmo
Inlägg: 1904
Blev medlem: 20 jun 2008, 18:09
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: Malmö

Re: rtorrent unrar automatiskt?

Inlägg av djkmmo »

Konservburk skrev:
djkmmo skrev:

Kod: Markera allt

schedule = watch_filmer,5,5,"load_start=/home/djk/torrents/filmer/*.torrent,d.set_directory=/home/djk/nedladdat/film,d.set_unpack_dir=/home/djk/"Från Film""
...
on_finished = packa_upp_film,"execute=/home/djk/bin/unpack_torrent_rar.sh,$d.get_base_path=,$d.set_unpack_dir="
Det finns inget som heter "d.set_unpack_dir" i rtorrent. Om du vill använda "egna" variabler så är det d.set_custom1, d.get_custom1 och motsvarande för andra siffror som gäller.
djkmmo skrev:

Kod: Markera allt

#!/bin/bash
if [ "$2" != "" ]; then
	unrar x -r "$1/*.rar" "$2"
fi
Oavsett exakt hur ditt skript ser ut så vill du ha med alla de konstiga &-tecknen som finns i slutet av skriptet i mitt förra inlägg. Utan dem så kommer rtorrent att låsa sig under uppackningen.
djkmmo skrev:Jag har fortfarande inte förstått om "d.get_base_path" är
a/ /home/djk/nedladdat/film ELLER
b/ /home/djk/nedladdat/film/{underkatalog där *.rar-filerna sparats}
Du kan anväda d.get_directory om du vill ha tag i katalogen som sattes med d.set_directory. När det gäller d.get_base_path så ingår även nästa katalognivå.
Aha!

Då blir det något så här, om jag förstått det rätt:

Kod: Markera allt

schedule = watch_filmer,5,5,"load_start=/home/djk/torrents/filmer/*.torrent,d.set_directory=/home/djk/nedladdat/film,d.set_custom1=/home/djk/"Från Film""
schedule = watch_dokument,5,5,"load_start=/home/djk/torrents/dokument/*.torrent,d.set_directory=/home/djk/nedladdat/dokument,d.set_custom1=/home/djk/dokument"
schedule = watch_skräp,5,5,"load_start=/home/djk/torrents/skräp/*.torrent,d.set_directory=/home/djk/nedladdat/skräp,"
...
on_finished = packa_upp_film,"execute=/home/djk/bin/unpack_torrent_rar.sh,$d.get_base_path=,$d.get_custom1="

Kod: Markera allt

#!/bin/bash
if [ "$2" != "" ]; then
   unrar x -r "$1/*.rar" "$2"
fi
>&- 2>&- &
Kommer då "custom1" att sättas på basis av "directory", så att omm $d.get_custom1=/home/djk/"Från Film" ELLER $d.get_custom1=/home/djk/dokument så packas de upp till resp katalog OCH om d.get_directory=/home/djk/nedladdat/skräp så $d.get_custom1="" och skriptet avslutas?

schedule-statementen är bara exempel. Jag vill bara förstå hur det funkar så kan jag pilla själv sedan och bygga ut efterhand.

Hamnade ">&- 2>&- &" rätt och vad gör de?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent unrar automatiskt?

Inlägg av Konservburk »

djkmmo skrev:Kommer då "custom1" att sättas på basis av "directory", så att omm $d.get_custom1=/home/djk/"Från Film" ELLER $d.get_custom1=/home/djk/dokument så packas de upp till resp katalog OCH om d.get_directory=/home/djk/nedladdat/skräp så $d.get_custom1="" och skriptet avslutas?
Varje torrent har en egen sådan "custom1"-variabel som du tilldelar i samband med att torrent-filen laddas in från den bevakade katalogen. Vad "custom1" har för värde för en viss torrent beror i ditt fall därför helt och hållet på i vilken bevakad katalog du sparade själva torrent-filen.
djkmmo skrev:Hamnade ">&- 2>&- &" rätt och vad gör de?
De hamnade fel. De ska antingen vara på samma rad som unrar eller direkt efter fi (på samma rad). De två första kastar bort all utdata eftersom rtorrent inte tycker om ifall skriptet skriver en massa saker. Den sista ser till att den tidskrävande uppackningen körs i bakgruden så att rtorrent kan fortsätta med annat under tiden.
djkmmo
Inlägg: 1904
Blev medlem: 20 jun 2008, 18:09
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: Malmö

Re: rtorrent unrar automatiskt?

Inlägg av djkmmo »

Konservburk skrev:
djkmmo skrev:Kommer då "custom1" att sättas på basis av "directory", så att omm $d.get_custom1=/home/djk/"Från Film" ELLER $d.get_custom1=/home/djk/dokument så packas de upp till resp katalog OCH om d.get_directory=/home/djk/nedladdat/skräp så $d.get_custom1="" och skriptet avslutas?
Varje torrent har en egen sådan "custom1"-variabel som du tilldelar i samband med att torrent-filen laddas in från den bevakade katalogen.
Jag vet inte riktigt hur jag skall läsa det. Menar du att man i ett schedule-statement kan sätta custom1 - customn eller att dessa skall sättas globalt för rtorrent på samma sätt som "directory" och "session"?

För att göra det väldigt tydligt. I följande tre schedule-statement, vad får custom1 för värde?

a) schedule = watch_filmer,5,5,"load_start=/home/djk/torrents/filmer/*.torrent,d.set_directory=/home/djk/nedladdat/film,d.set_custom1=/home/djk/"Från Film""
b) schedule = watch_dokument,5,5,"load_start=/home/djk/torrents/dokument/*.torrent,d.set_directory=/home/djk/nedladdat/dokument,d.set_custom1=/home/djk/dokument"
c) schedule = watch_skräp,5,5,"load_start=/home/djk/torrents/skräp/*.torrent,d.set_directory=/home/djk/nedladdat/skräp,"

1) i (a) får custom1 värdet "/home/djk/Från Film", i (b) "/home/djk/dokument" och i (c) saknar custom1 värde.
2) samma som (1), förutom att i (c) har custom1 det värde det senast tilldelades
3) custom1 är i a, b och c odefinierad, ty man kan endast definiera en variabel per schedule-statement
4) inget av ovanstående är sant, ty custom1 måste vara unikt för varje schedule-statement
Konservburk skrev:
djkmmo skrev:Hamnade ">&- 2>&- &" rätt och vad gör de?
De hamnade fel. De ska antingen vara på samma rad som unrar eller direkt efter fi (på samma rad). De två första kastar bort all utdata eftersom rtorrent inte tycker om ifall skriptet skriver en massa saker. Den sista ser till att den tidskrävande uppackningen körs i bakgruden så att rtorrent kan fortsätta med annat under tiden.
Ok, då är den biten klar iaf.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent unrar automatiskt?

Inlägg av Konservburk »

djkmmo skrev:Jag vet inte riktigt hur jag skall läsa det. Menar du att man i ett schedule-statement kan sätta custom1 - customn eller att dessa skall sättas globalt för rtorrent på samma sätt som "directory" och "session"?
De ska inte sättas globalt. Allting som börjar på d. måste våra kopplat till en enskild torrent. En torrent A har t.ex. ett helt eget värde på custom1 och annan torrent B har samtidigt ett helt annat värde på sin custom1.
djkmmo skrev:För att göra det väldigt tydligt. I följande tre schedule-statement, vad får custom1 för värde?

a) schedule = watch_filmer,5,5,"load_start=/home/djk/torrents/filmer/*.torrent,d.set_directory=/home/djk/nedladdat/film,d.set_custom1=/home/djk/"Från Film""
b) schedule = watch_dokument,5,5,"load_start=/home/djk/torrents/dokument/*.torrent,d.set_directory=/home/djk/nedladdat/dokument,d.set_custom1=/home/djk/dokument"
c) schedule = watch_skräp,5,5,"load_start=/home/djk/torrents/skräp/*.torrent,d.set_directory=/home/djk/nedladdat/skräp,"

1) i (a) får custom1 värdet "/home/djk/Från Film", i (b) "/home/djk/dokument" och i (c) saknar custom1 värde.
2) samma som (1), förutom att i (c) har custom1 det värde det senast tilldelades
3) custom1 är i a, b och c odefinierad, ty man kan endast definiera en variabel per schedule-statement
4) inget av ovanstående är sant, ty custom1 måste vara unikt för varje schedule-statement
Det är nog (1) som ligger närmast verkligheten. Egentligen är det så att alla torrenter som laddas in med (a) kommer att ha en egen custom1 som är "/home/djk/Från Film" (Men om vi ska hålla oss till sanningen så fungerar inte (a) öht eftesom du har escapat mellanrummet i katalognamnet fel). Alla torrenter som har laddats in med (b) kommer att ha en egen custom1 som är "/home/djk/dokument". Alla torrenter som har laddats in med (c) kommer att ha en egen custom1 som är helt tom.

Hoppas jag inte var för övertydlig den här gången :)
djkmmo
Inlägg: 1904
Blev medlem: 20 jun 2008, 18:09
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: Malmö

Re: rtorrent unrar automatiskt?

Inlägg av djkmmo »

Konservburk skrev:
djkmmo skrev:Jag vet inte riktigt hur jag skall läsa det. Menar du att man i ett schedule-statement kan sätta custom1 - customn eller att dessa skall sättas globalt för rtorrent på samma sätt som "directory" och "session"?
De ska inte sättas globalt. Allting som börjar på d. måste våra kopplat till en enskild torrent. En torrent A har t.ex. ett helt eget värde på custom1 och annan torrent B har samtidigt ett helt annat värde på sin custom1.
djkmmo skrev:För att göra det väldigt tydligt. I följande tre schedule-statement, vad får custom1 för värde?

a) schedule = watch_filmer,5,5,"load_start=/home/djk/torrents/filmer/*.torrent,d.set_directory=/home/djk/nedladdat/film,d.set_custom1=/home/djk/"Från Film""
b) schedule = watch_dokument,5,5,"load_start=/home/djk/torrents/dokument/*.torrent,d.set_directory=/home/djk/nedladdat/dokument,d.set_custom1=/home/djk/dokument"
c) schedule = watch_skräp,5,5,"load_start=/home/djk/torrents/skräp/*.torrent,d.set_directory=/home/djk/nedladdat/skräp,"

1) i (a) får custom1 värdet "/home/djk/Från Film", i (b) "/home/djk/dokument" och i (c) saknar custom1 värde.
2) samma som (1), förutom att i (c) har custom1 det värde det senast tilldelades
3) custom1 är i a, b och c odefinierad, ty man kan endast definiera en variabel per schedule-statement
4) inget av ovanstående är sant, ty custom1 måste vara unikt för varje schedule-statement
Det är nog (1) som ligger närmast verkligheten. Egentligen är det så att alla torrenter som laddas in med (a) kommer att ha en egen custom1 som är "/home/djk/Från Film" (Men om vi ska hålla oss till sanningen så fungerar inte (a) öht eftesom du har escapat mellanrummet i katalognamnet fel). Alla torrenter som har laddats in med (b) kommer att ha en egen custom1 som är "/home/djk/dokument". Alla torrenter som har laddats in med (c) kommer att ha en egen custom1 som är helt tom. Att det är tre skilda custom1 med samma namn och olika värden är jag på det klara med iaf.

Hoppas jag inte var för övertydlig den här gången :)
Nej då, det var ju precis det jag efterfrågade, så nu tror jag att jag är med. Sen om (c) har ett värde som är tomt eller inte har något värde är väl mest semantik. Hur många värden har tomma mängden, hur många värden krävs för att en mängd skall vara en mängd och om ett tomt värde är medlem i tomma mängden, hur kan den då den tomma mängden vara tom? ??? Man kan ju säga att det oändliga antal med icke explicit deklarerade möjliga variabler i skriptet är fyllda med tomma värden, men det blir så många variabler att hålla reda på då ;).

Då kör jag som följer så borde det funka, right?

rtorrent.rc:

Kod: Markera allt

schedule = watch_filmer,5,5,"load_start=/home/djk/torrents/filmer/*.torrent,d.set_directory=/home/djk/nedladdat/film,d.set_custom1=/home/djk/Från_film"
....
on_finished = packa_upp_film,"execute=/home/djk/bin/unpack_torrent_rar.sh,$d.get_base_path=,$d.set_custom1="

Kod: Markera allt

#!/bin/bash
if [ "$2" != "" ]; then
   unrar x -r "$1/*.rar" "$2" >&- 2>&- &
fi
Du skall ha enormt stort tack för att du tar dig tid.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent unrar automatiskt?

Inlägg av Konservburk »

djkmmo skrev:Att det är tre skilda custom1 med samma namn och olika värden är jag på det klara med iaf.
Det är inte tre custom1. Det är exakt lika många olika custom1 som du har torrenter inladdad i rtorrent. Det skulle iofs kunna råka vara tre stycken om du nu har exakt tre torrenter, men det skulle lika gärna kunna vara en om du bara har en torrent. Eller tjgo om du har tjugo torrenter, osv.
djkmmo skrev:Sen om (c) har ett värde som är tomt eller inte har något värde är väl mest semantik. Hur många värden har tomma mängden, hur många värden krävs för att en mängd skall vara en mängd och om ett tomt värde är medlem i tomma mängden, hur kan den då den tomma mängden vara tom? ??? Man kan ju säga att det oändliga antal med icke explicit deklarerade möjliga variabler i skriptet är fyllda med tomma värden, men det blir så många variabler att hålla reda på då ;).
Jag tror inte att just rtorrent gör någon skillnad på om det finns ett värde som är tomt eller om det inte finns något värde alls. Men när det gäller skript så är det faktiskt skillnad mellan VARIABEL='' (tomt värde) och unset VARIABEL (inget värde).
djkmmo skrev:Då kör jag som följer så borde det funka, right?

rtorrent.rc:

Kod: Markera allt

schedule = watch_filmer,5,5,"load_start=/home/djk/torrents/filmer/*.torrent,d.set_directory=/home/djk/nedladdat/film,d.set_custom1=/home/djk/Från_film"
....
on_finished = packa_upp_film,"execute=/home/djk/bin/unpack_torrent_rar.sh,$d.get_base_path=,$d.set_custom1="

Kod: Markera allt

#!/bin/bash
if [ "$2" != "" ]; then
   unrar x -r "$1/*.rar" "$2" >&- 2>&- &
fi
Det ser väl helt ok ut. Men det kan hända att hela låser sig om unrar börjar fråga ifall den ska skriva filer eller liknande. För att undvika det så kan man skicka yes no till unrar så svarar den automatiskt nej på alla frågor (se hur jag gjorde i mitt tidigare inlägg). Glöm inte heller att göra skriptet körbart.
djkmmo
Inlägg: 1904
Blev medlem: 20 jun 2008, 18:09
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: Malmö

Re: rtorrent unrar automatiskt?

Inlägg av djkmmo »

Konservburk skrev: Det är inte tre custom1. Det är exakt lika många olika custom1 som du har torrenter inladdad i rtorrent. Det skulle iofs kunna råka vara tre stycken om du nu har exakt tre torrenter, men det skulle lika gärna kunna vara en om du bara har en torrent. Eller tjgo om du har tjugo torrenter, osv.
Ja så, måste det ju bli förstås. Det är ju en unik torrent med en unik sökväg som skall pekas ut.
Konservburk skrev:
djkmmo skrev:Sen om (c) har ett värde som är tomt eller inte har något värde är väl mest semantik. Hur många värden har tomma mängden, hur många värden krävs för att en mängd skall vara en mängd och om ett tomt värde är medlem i tomma mängden, hur kan den då den tomma mängden vara tom? ??? Man kan ju säga att det oändliga antal med icke explicit deklarerade möjliga variabler i skriptet är fyllda med tomma värden, men det blir så många variabler att hålla reda på då ;).
Jag tror inte att just rtorrent gör någon skillnad på om det finns ett värde som är tomt eller om det inte finns något värde alls. Men när det gäller skript så är det faktiskt skillnad mellan VARIABEL='' (tomt värde) och unset VARIABEL (inget värde).
Jag menade bara rent allmännt. Jag är ingen programerare; den mest avancerade programering jag själv sysslat med är BASIC på Commodoredatorer och inte speciellt mycket det heller. Däremot har jag läst logik och språkfilosofi och det har man ju lite nytta av i sammanhanget. Om du tycker att jag ställer triviala frågor samtdigt som jag verkar begripa en del annat rimligt bra så beror det nog på det ;).
Konservburk skrev:
djkmmo skrev:Då kör jag som följer så borde det funka, right?

rtorrent.rc:

Kod: Markera allt

schedule = watch_filmer,5,5,"load_start=/home/djk/torrents/filmer/*.torrent,d.set_directory=/home/djk/nedladdat/film,d.set_custom1=/home/djk/Från_film"
....
on_finished = packa_upp_film,"execute=/home/djk/bin/unpack_torrent_rar.sh,$d.get_base_path=,$d.set_custom1="

Kod: Markera allt

#!/bin/bash
if [ "$2" != "" ]; then
   unrar x -r "$1/*.rar" "$2" >&- 2>&- &
fi
Det ser väl helt ok ut. Men det kan hända att hela låser sig om unrar börjar fråga ifall den ska skriva filer eller liknande. För att undvika det så kan man skicka yes no till unrar så svarar den automatiskt nej på alla frågor (se hur jag gjorde i mitt tidigare inlägg). Glöm inte heller att göra skriptet körbart.
Då kommer det en sådan trivial fråga igen då. Menar du så här?

Kod: Markera allt

yes no | unrar x -r "$1/*.rar" "$2" >&- 2>&- &
Som jag förstått det så sluta case-statmentet efter ")" så ovanstående verkar mest logiskt för mig.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent unrar automatiskt?

Inlägg av Konservburk »

djkmmo skrev:Då kommer det en sådan trivial fråga igen då. Menar du så här?

Kod: Markera allt

yes no | unrar x -r "$1/*.rar" "$2" >&- 2>&- &
Som jag förstått det så sluta case-statmentet efter ")" så ovanstående verkar mest logiskt för mig.
Det var precis så där jag menade. Du får ursäkta om jag förvirrade till det hela för dig genom att använda en case-sats istället för en if-sats.
Skriv svar

Återgå till "Terminalforum"