Sida 5 av 7
Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 16:55
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.
Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 17:01
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
Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 17:04
av BadOmen
Nä, den visar bara en sak i taget och inte heller totalt upp och ner.
Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 17:14
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.
Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 17:18
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
Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 17:26
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.
Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 17:37
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.
Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 17:41
av BadOmen
d.is_active= denna verkar göra det du vill
Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 17:41
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
Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 17:49
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

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 17:53
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

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 18:03
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?
Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 18:23
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?
Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 18:41
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:
Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 18:47
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
Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 18:50
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

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 19:07
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
Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 19:20
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?
Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 19:31
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

Re: rtorrent med conky, någon som vill göra en HowTo?[löst]
Postat: 08 aug 2008, 19:35
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
