Barra de Progresso

1. Barra de Progresso

In God We Trust
in54no

(usa Slackware)

Enviado em 13/11/2005 - 13:23h

Ola Galera, alguem aqui jah fez com Xdialog --progress, uma barra de progresso!?
Queria fazer uma que mostrasse quanto jah baixei de um arquivo na net! Valeu!


  


2. opa

Tiago Barcellos Peczenyj
pacman

(usa Ubuntu)

Enviado em 18/11/2005 - 14:14h

cara eu ja fiz algo parecido. o que vc usa pra baixar ? wget ?

se for, tem que fazer um tail -f wget.log --pid-`pid do wget em background` | algumas coisas pra pegar o valor correto da porcentagem | dialog -opções


3. ...

In God We Trust
in54no

(usa Slackware)

Enviado em 18/11/2005 - 15:38h

Blz kra?
Valeu pela resposta, c voce tiver o programinha completo, e puder enviar pra mim agradeco, ok!?
Uso o wget sim...
Obrigado
[email protected]


4. AEww

In God We Trust
in54no

(usa Slackware)

Enviado em 20/11/2005 - 22:18h

Estou quase lah...
andei vendo na comunidade do Orkut, de shell script, um exemplo lah, entendi, fiz um pouco diferente:
LOG=wget.log
LINK=http://www.unimep.br/~tsmoraes/game_certo.tar.bz2
erro()
{
echo "Erro fazendo download do link: $LINK"
exit 1
}
pega_porcentagem()
{
PORCENTAGEM=`cat $LOG | grep % | cut -c63-64 | tail -n 1`
echo $PORCENTAGEM
}
wget -o $LOG $LINK &
while true
do (
pega_porcentagem )
done |
Xdialog --gauge "Arguarde..." 0 0

Ele mostra o quanto jah pegou, mas ai fica sempre em repeticao o Xdialog, eu tentei colocar um while $PORCENTAGEM -ne 100 mas mesmo assim nao dah certo



5. CONSEGUI

In God We Trust
in54no

(usa Slackware)

Enviado em 23/11/2005 - 22:33h

#!/bin/bash

LOG=wget.log
LINK=http://www.unimep.br/~tsmoraes/game_correto.tar.bz2

#rotina pra tratar um erro
erro()
{
echo "Erro fazendo download do link: $LINK"
exit 1
}

#ler sempre o arquivo de log gerado pelo wget, procurando pelo caracter %
#depois remove os caracteres desnecessarios com cut, ficando só os numeros.
pega_porcentagem()
{

while true
do
PORCENTAGEM=`cat $LOG | grep % | cut -c62-64 | tail -n 1`
echo $PORCENTAGEM
#se o porcentagem igual a 100 para de fazer o loop infinito, pois arquivo jah
#foi baixado completamente
if [ $PORCENTAGEM = 100 ]
then
break;
fi

done

}

wget -o $LOG $LINK &
#saida de pega_porcentagem é entrada para Xdialog
( pega_porcentagem ) | Xdialog --gauge "Aguarde, fazendo download do arquivo..." 0 0

era soh um errinho que eu estava cometendo, agora tah certinho!
vlw a todos ai


6. faltam aspas duplas!!!

Lincoln Lordello
lordello

(usa Fedora)

Enviado em 02/12/2005 - 00:15h

Cara, sempre que você criar um if, use aspas duplas, a linha 24 do script está errada:

errado: if [ $PORCENTAGEM = 100 ]
correto: if [ "$PORCENTAGEM" = "100" ]

Aliás a linha poderia ser assim:
[ "$PORCENTAGEM" = "100" ] && break
ou
if [ "$PORCENTAGEM" = "100" ]; then break; fi

Assim diminui o código :)


7. Ok...

In God We Trust
in54no

(usa Slackware)

Enviado em 02/12/2005 - 06:26h

Vlw pela dica...
por isso que as vezes dava alguns erros...
Obrigado.


8. Re: Barra de Progresso

Tiago Barcellos Peczenyj
pacman

(usa Ubuntu)

Enviado em 02/12/2005 - 16:20h

vc pode fazer algo como

wget ... &
PID=$!

# $! Número PID do último job em segundo plano

tail -f <arquivo> --pid=$PID

assim enquanto o programa 'wget' estiver rodando o tail -f mostrara 'em tempo de voo' as atualizações no arquivo ;-)


9. ...

In God We Trust
in54no

(usa Slackware)

Enviado em 02/12/2005 - 16:37h

opa, valew pela dica tb