rtorrent med conky, någon som vill göra en HowTo?[löst]

Här diskuteras programmering och utveckling
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Den visar bara en i taget så det har blivit nåt litet fel där :) När jag sätter den den visar som Closed så försvinner den och en annan som är igång visas i stället.

EDIT:
Den visar inte heller upp Totalt och ner totalt.
Senast redigerad av 1 BadOmen, redigerad totalt 8 gånger.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av Konservburk »

Hmm, jag kan inte se var felet skulle vara, men jag har gjort några ändringar nu, och vi försöker igen:

Kod: Markera allt

#!/bin/sh
test -S "$2" &&
"$@" d.multicall default \
   d.get_name= \
   d.get_up_rate= \
   d.get_down_rate= \
   d.get_completed_chunks= \
   d.get_size_chunks= \
   d.get_state= \
|
xmlstarlet sel -t -v / |
awk '/./ {
   if (++i%6 == 1) name=$0
   else if (i%6 == 2) up[name]=$0
   else if (i%6 == 3) down[name]=$0
   else if (i%6 == 4) done[name]=$0
   else if (i%6 == 5) size[name]=$0
   else if (i%6 == 0) started[name]=$0
} END {
   for(name in up) {
      if(started[name]) {
         up_sum += up[name]
         down_sum += down[name]
         #if(++j<=4)
         {
            printf("Namn: %s\n", name)
            printf("Klart: %d%%\n", 100 * done[name] / size[name])
            printf("Upp: %.1f kB/s\n", up[name] / 1024)
            printf("Ner: %.1f kB/s\n", down[name] / 1024)
            printf("\n\b")
         }
      }
   }
   printf("Upp totalt: %.1f kB/s\n", up_sum / 1024)
   printf("Ner totalt: %.1f kB/s\n", down_sum / 1024)
}' |
xargs -d'\b' -n1 printf '%s\0' |
sort -z
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Nä, den visar bara en sak i taget och inte heller totalt upp och ner.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av Konservburk »

Jag har faktiskt ingen aning om vad som kan tänkas ha blivit fel...
vi får köra med en debug-varinant till att börja med:

Kod: Markera allt

#!/bin/sh
test -S "$2" &&
"$@" d.multicall default \
   d.get_name= \
   d.get_up_rate= \
   d.get_down_rate= \
   d.get_completed_chunks= \
   d.get_size_chunks= \
   d.get_state= \
|
xmlstarlet sel -t -v / |
mawk '/./ {
   if (++i%6 == 1) name=$0
   else if (i%6 == 2) up[name]=$0
   else if (i%6 == 3) down[name]=$0
   else if (i%6 == 4) done[name]=$0
   else if (i%6 == 5) size[name]=$0
   else if (i%6 == 0) running[name]=$0
} END {
   print("hejsan")
   for(name in up) {
      printf("%s - %s\n\n",name,running[name])
      if(running[name]) {
         up_sum += up[name]
         down_sum += down[name]
         #if(++j<=4)
         {
            printf("Namn: %s\n", name)
            printf("Klart: %d%%\n", 100 * done[name] / size[name])
            printf("Upp: %.1f kB/s\n", up[name] / 1024)
            printf("Ner: %.1f kB/s\n", down[name] / 1024)
            printf("\n\b")
         }
      }
   }
   printf("Upp totalt: %.1f kB/s\n", up_sum / 1024)
   printf("Ner totalt: %.1f kB/s\n", down_sum / 1024)
}' |
xargs -d'\b' -n1 printf '%s\0' |
sort -z
Tala om vad du får för resultat.
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Nu står det:
Hejsan
Ubuntu 8.04 iso

Namn: Ubuntu 8.04.iso
klar 32%
upp 14 KB/s
Ner / 420 KB/s
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av Konservburk »

Då verkar det vara d.get_state= som inte gör vad jag trodde den skulle.

Kod: Markera allt

xmlrpc2scgi.py -p rpc.socket d.multicall default d.get_name= d.get_state=
Jag inbillade mig att 1 betyder att torrenten är igång och 0 att den inte är det.
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Det hade ju varit logiskt men den verkar skicka tillbaka filnamn. Både de som är igång och de som är closed. Den visar dock bara upp 3 av 4 och den slutar med ett komma , jag har conky sat maximum_width 1280 men den visar inte hella brädden på skärmen. Så det verkar som att den bara slutar med ett komma och visar bara tre av nån anledning... Men den gör tyvärr inte som du trodde.
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

d.is_active= denna verkar göra det du vill
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av Konservburk »

Men då försöker vi med d.is_active istället:

Kod: Markera allt

#!/bin/sh
test -S "$2" &&
"$@" d.multicall default \
   d.get_name= \
   d.get_up_rate= \
   d.get_down_rate= \
   d.get_completed_chunks= \
   d.get_size_chunks= \
   d.is_active= \
|
xmlstarlet sel -t -v / |
awk '/./ {
   if (++i%6 == 1) name=$0
   else if (i%6 == 2) up[name]=$0
   else if (i%6 == 3) down[name]=$0
   else if (i%6 == 4) done[name]=$0
   else if (i%6 == 5) size[name]=$0
   else if (i%6 == 0) active[name]=$0
} END {
   for(name in up) {
      if(active[name]) {
         up_sum += up[name]
         down_sum += down[name]
         #if(++j<=4)
         {
            printf("Namn: %s\n", name)
            printf("Klart: %d%%\n", 100 * done[name] / size[name])
            printf("Upp: %.1f kB/s\n", up[name] / 1024)
            printf("Ner: %.1f kB/s\n", down[name] / 1024)
            printf("\n\b")
         }
      }
   }
   printf("Upp totalt: %.1f kB/s\n", up_sum / 1024)
   printf("Ner totalt: %.1f kB/s\n", down_sum / 1024)
}' |
xargs -d'\b' -n1 printf '%s\0' |
sort -z
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Tyvärr visar den bara en sak i taget fortfarande.
Nu ska jag gå och fixa mat så jag blir nog borta ett tag :)
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Om du har kört fast ordentligt här så går det bra att ha det som det var utan det här testet på aktiv eller inte, man fick bara gå in i rtorrent och trycka ctrl +S även på de som redan var aktiva för att få dem att hoppa in i Conky.
Du kan kanske göra en som sorterar efter namn i stället den med backspace :)
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av Konservburk »

Kört fast, och kört fast... är väl mest att jag inte kan testa något själv. Jag vet inte ens om felet ligger i awk-koden eller innan den. Vad får du med awk-biten bortklippt? Kör direkt i terminalen och inte i conky så att ingenting råkar bli avhugget där.

Kod: Markera allt

#!/bin/sh
test -S "$2" &&
"$@" d.multicall default \
   d.get_name= \
   d.get_up_rate= \
   d.get_down_rate= \
   d.get_completed_chunks= \
   d.get_size_chunks= \
   d.is_active= \
|
xmlstarlet sel -t -v /
Om jag nu ska försöka fixa en rtorrent med xmlrpc-stöd så är det ju bäst att jag använder samma version som du. Är det 0.7.9 du kör med?
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

3. Efter det så hämtade jag hem de nyaste libpaketet för rtorrent, när jag gjorde det var denna nyast:
libtorrent-0.12.2.tar.gz och sen hemtade jag även den nyaste rtorrent, det var denna rtorrent-0.8.2.tar.gz. Dessa filer hämtade jag härifrån:
http://libtorrent.rakshasa.no/downloads/

Testa gärna och följa med punkterna mina på sida 2 så ser jag om det har blivit fel nån stans :)

Det går inte att bara klistra in den det scriptet i terminalen då blir det galet. jag har lagt det i en fil som heter test.sh och gjort den körbar men jag får inget resultat av att köra test.sh i terminalen. Hur gör jag för att köra den filen där?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av Konservburk »

BadOmen skrev:3. Efter det så hämtade jag hem de nyaste libpaketet för rtorrent, när jag gjorde det var denna nyast:
libtorrent-0.12.2.tar.gz och sen hemtade jag även den nyaste rtorrent, det var denna rtorrent-0.8.2.tar.gz. Dessa filer hämtade jag härifrån:
http://libtorrent.rakshasa.no/downloads/

Testa gärna och följa med punkterna mina på sida 2 så ser jag om det har blivit fel nån stans :)
Okey, 0.8.2 får det bil då.
BadOmen skrev:Det går inte att bara klistra in den det scriptet i terminalen då blir det galet. jag har lagt det i en fil som heter test.sh och gjort den körbar men jag får inget resultat av att köra test.sh i terminalen. Hur gör jag för att köra den filen där?
Du måste ta med argumenten som behövs, typ:

Kod: Markera allt

./test.sh ./xmlrpc2scgi.py ./rpc.socket
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

jonas@Jonas-Desktop:~$ ./tabort.sh ~/rtorrent_rpc/xmlrpc2scgi.py /home/jonas/rtorrent_rpc/rpc.socket




ubuntu-8.04-desktop-amd64.iso
0
0
1395
1395
1


ubuntu-8.04.1-desktop-i386.iso
0
0
1389
1389
1


ubuntu-7.10-desktop-amd64.iso
0
0
1394
1394
1


Långkörartorrentfilennsnamn
743
33469
1316
3666
1
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Samma men med ubuntu-8.04.1-desktop-i386.iso closed:

ubuntu-8.04-desktop-amd64.iso
0
0
1395
1395
1

ubuntu-8.04.1-desktop-i386.iso
0
0
1389
1389
0

ubuntu-7.10-desktop-amd64.iso
0
0
1394
1394
1


Långkörartorrentfilennsnamn
702
49719
1319
3666
1

EDIT: Alla Ubuntu filerna är Done och ingen laddar från dom så 0 0 stämmer där

EDIT2: De som står 1394 1394 osv är chunks och de har inget med filens storlek att göra men det funkar ju ypperligt att använda som du gör med att räkna ut procenten :)
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Den här raden sköter det från conky. Det är ju bra om vi vet att vi håller på med samma saker och inget gammalt som kommer in :)

Kod: Markera allt

${exec ~/skriptet.sh ~/rtorrent_rpc/xmlrpc2scgi.py /home/jonas/rtorrent_rpc/rpc.socket}
Den här versionen av dit script kör jag:

Kod: Markera allt

#!/bin/sh
test -S "$2" &&
"$@" d.multicall default \
   d.get_name= \
   d.get_up_rate= \
   d.get_down_rate= \
   d.get_completed_chunks= \
   d.get_size_chunks= \
   d.is_active= \
|
xmlstarlet sel -t -v / |
awk '/./ {
   if (++i%6 == 1) name=$0
   else if (i%6 == 2) up[name]=$0
   else if (i%6 == 3) down[name]=$0
   else if (i%6 == 4) done[name]=$0
   else if (i%6 == 5) size[name]=$0
   else if (i%6 == 0) active[name]=$0
} END {
   for(name in up) {
      if(active[name]) {
         up_sum += up[name]
         down_sum += down[name]
         #if(++j<=4)
         {
            printf("Namn: %s\n", name)
            printf("Klart: %d%%\n", 100 * done[name] / size[name])
            printf("Upp: %.1f kB/s\n", up[name] / 1024)
            printf("Ner: %.1f kB/s\n", down[name] / 1024)
            printf("\n\b")
         }
      }
   }
   printf("Upp totalt: %.1f kB/s\n", up_sum / 1024)
   printf("Ner totalt: %.1f kB/s\n", down_sum / 1024)
}' |
xargs -d'\b' -n1 printf '%s\0' |
sort -z
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av Konservburk »

Det verkar ju gå hur bra som helst utan awk. Vi kanske skulle testa med gawk i alla fall bara för att se om det gör någon skillnad:

Kod: Markera allt

#!/bin/sh
test -S "$2" &&
"$@" d.multicall default \
   d.get_name= \
   d.get_up_rate= \
   d.get_down_rate= \
   d.get_completed_chunks= \
   d.get_size_chunks= \
   d.is_active= \
|
xmlstarlet sel -t -v / |
gawk '/./ {
   if (++i%6 == 1) name=$0
   else if (i%6 == 2) up[name]=$0
   else if (i%6 == 3) down[name]=$0
   else if (i%6 == 4) done[name]=$0
   else if (i%6 == 5) size[name]=$0
   else if (i%6 == 0) active[name]=$0
} END {
   for(name in up) {
      if(active[name]) {
         up_sum += up[name]
         down_sum += down[name]
         #if(++j<=4)
         {
            printf("Namn: %s\n", name)
            printf("Klart: %d%%\n", 100 * done[name] / size[name])
            printf("Upp: %.1f kB/s\n", up[name] / 1024)
            printf("Ner: %.1f kB/s\n", down[name] / 1024)
            printf("\n\0")
         }
      }
   }
   printf("Upp totalt: %.1f kB/s\n", up_sum / 1024)
   printf("Ner totalt: %.1f kB/s\n", down_sum / 1024)
}' |
#xargs -d'\b' -n1 printf '%s\0' |
sort -z
Vilken version av awk har du förresten?

Kod: Markera allt

awk -W version
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan

compiled limits:
max NF 32767
sprintf buffer 1020
jonas@Jonas-Desktop:~$

jag ska ta och installera gawk nu :)
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]

Inlägg av BadOmen »

Jag får samma resultat med gawk tyvärr

vad innehåller up i for(name in up)? kan du skriva ut bara det så vi ser om den bara har en sak i sig eller?
Kanske skriva nåt som tvingar den att fortsätta 2 varv. for (i <= 2 i++) typ :P
Skriv svar

Återgå till "Programmering och webbdesign"