rtorrent unrar automatiskt?
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: rtorrent unrar automatiskt?
-
- 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?
Men ska väl testa sen såfort jag fått ordning på hardy hur allting funkar.
-
- 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?
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å:)
-
- 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?
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=
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
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
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
-
- 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?
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.
-
- 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?
Aha! Min schedule rad ser ut som följer: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.
Kod: Markera allt
schedule = watch_filmer,5,5,"load_start=/home/djk/torrents/filmer/*.torrent,d.set_directory=/home/djk/nedladdat/film"
Jag får krupp av det här...

-
- 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?
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
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?
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: rtorrent unrar automatiskt?
Eftersom det hela har blivit ganska förvirrat nu så tycker jag att vi tar om det hela från början.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.
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="
Kod: Markera allt
#!/bin/bash
case "$1" in "/katalogA") yes no | unrar x -r "$1/*.rar" "/katalogB"; esac >&- 2>&- &
-
- 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?
Och vad är då "d.get_base_path", är det:Konservburk skrev:Eftersom det hela har blivit ganska förvirrat nu så tycker jag att vi tar om det hela från början.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.
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:
Detta startar skriptet /unpack_rar.sh och skickar med torrentens data-katalog $d.get_base_path= som argumentet "$1".Kod: Markera allt
on_finished = unpack_rar,"execute=/unpack_rar.sh,$d.get_base_path="
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""?
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 senilKonservburk 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>&- &

Skall det inte vara ";;" innan "esac", efter "katalogB"?
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: rtorrent unrar automatiskt?
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 skrev:Men hur vet då rar var filerna skall packas upp?Konservburk skrev:Kod: Markera allt
#!/bin/bash case "$1" in "/katalogA") yes no | unrar x -r "$1/*.rar" "/katalogB"; esac >&- 2>&- &
-
- 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?
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
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}
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: rtorrent unrar automatiskt?
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
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="
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:Kod: Markera allt
#!/bin/bash if [ "$2" != "" ]; then unrar x -r "$1/*.rar" "$2" fi
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 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}
-
- 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?
Aha!Konservburk skrev: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
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="
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:Kod: Markera allt
#!/bin/bash if [ "$2" != "" ]; then unrar x -r "$1/*.rar" "$2" fi
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 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}
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>&- &
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?
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: rtorrent unrar automatiskt?
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: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?
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 skrev:Hamnade ">&- 2>&- &" rätt och vad gör de?
-
- 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?
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"?Konservburk skrev: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.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?
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
Ok, då är den biten klar iaf.Konservburk skrev: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 skrev:Hamnade ">&- 2>&- &" rätt och vad gör de?
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: rtorrent unrar automatiskt?
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: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"?
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.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
Hoppas jag inte var för övertydlig den här gången

-
- 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?
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?Konservburk skrev: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: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"?
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.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
Hoppas jag inte var för övertydlig den här gången


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
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: rtorrent unrar automatiskt?
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:Att det är tre skilda custom1 med samma namn och olika värden är jag på det klara med iaf.
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: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å
.
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 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
-
- 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?
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: 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.
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å detKonservburk skrev: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: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å kommer det en sådan trivial fråga igen då. Menar du så här?Konservburk skrev: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 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
Kod: Markera allt
yes no | unrar x -r "$1/*.rar" "$2" >&- 2>&- &
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: rtorrent unrar automatiskt?
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.djkmmo skrev:Då kommer det en sådan trivial fråga igen då. Menar du så här?Som jag förstått det så sluta case-statmentet efter ")" så ovanstående verkar mest logiskt för mig.Kod: Markera allt
yes no | unrar x -r "$1/*.rar" "$2" >&- 2>&- &