Download com barra de progresso

Publicado por In God We Trust 23/11/2005

[ Hits: 13.639 ]

Download dialog_download




Script que eu estava tentando fazer funcionar à tempos, a funcao dele é fazer um download de um arquivo e mostrar em uma barra de progresso quando jah pegou!
Espero que seja util!

  



Esconder código-fonte

#!/bin/bash
################################################################
# Script Criado por: Thiago Sanches - 11/20/05                 #
# Email: in54no.xjapan@gmail.com                               #
# Definicao: Mostra porcentagem baixada de um arquivo com dialog       #
# Licenca: GPL                                                 #
################################################################
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

Scripts recomendados

Console gráfico para vizualizar logs.

Pesquisa recursiva

converte fotos

Bloqueia IP

Monitor do Squid avançado


  

Comentários
[1] Comentário enviado por Rodrigo... em 06/03/2006 - 15:35h

gostei do script, mto bom, como ficaria se eu colocasse um botão pra cancelar ?

[2] Comentário enviado por in54no em 06/03/2006 - 15:49h

Rodrigo,
Pelo que eu saiba a opçao que estou usando (gauge) ela só mostra uma barra de progresso mesmo, pelo menos eu nao sei como adicionar um botao cancelar, mas se souber de alguma coisa me avise blz? obrigado pelo seu comentario fique com Deus

[3] Comentário enviado por Rodrigo... em 07/03/2006 - 11:15h

a partir do seu script eu fiz isso aqui

------------------------------------------------------------------------------------------

#!/bin/bash
#Script para baixar sistemas Linux
#Versão 0.9 beta
#By Ø Rodrigo Ø

#Constante...
LOG=wget.log

#Programa...
echo "Qual sistema você deseja baixar ?"
echo
echo "[1] Kurumin 5.1 (estável)"
echo "[2] Kurumin 6.0 alpha1 (beta)"
#echo "[3] Nome do sistema"
echo "[9] Ir ao forum do autor"
echo "[0] Sair (fechar)"
echo
read sistema
if [ "$sistema" = "1" ];
then
clear
echo "Preparando download do kurumin 5.1"
CORRETO="3e037ab97815b304537cfc69110825b4 kurumin-5.1.iso"
MD5SUM=`kurumin-5.1.md5sum.txt`
IMAGEM=`kurumin-5.1.iso`
LINK=http://fisica.ufpr.br/kurumin/kurumin-5.1.iso

elif [ "$sistema" = "2" ]; then
clear
echo "Preparando download do kurumin 6.0 alpha1"
CORRETO="313ab1a62ac99cba09ab7bcfc801666b kurumin-6.0-beta1a.iso"
MD5SUM=`kurumin-6.0-beta1a.md5sum.txt`
IMAGEM=`kurumin-6.0-beta1a.iso`
LINK=http://fisica.ufpr.br/kurumin/kurumin-6.0-beta1a.iso

#elif [ "$sistema" = "3" ]; then
#clear
#echo "Preparando download do #######"
#CORRETO=`conteúdo do md5sum`
#MD5SUM=`nome do md5sum`
#IMAGEM=`nome da imagem .iso`
#LINK=Link para a imagem .iso

elif [ "$sistema" = "9" ]; then
clear
firefox www.webhackers.rg3.net
exit

elif [ "$sistema" = "0" ]; then
clear
exit
else
clear
echo "Opção inexistente !"
exit
fi

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

if [ "$MD5SUM" != "$CORRETO" ];
then
kdialog --error "O arquivo está corrompido"
echo
echo "Deseja baixar novamente ?"
echo "[S]Sim - [N]Não"
echo
read baixar
case $baixar in
S) sim;;
N) nao;;
esac

sim ()
{
clear
rm -f $IMAGEM
./$0
}

nao ()
{
clear
exit
}

else
echo "O arquivo foi baixado corretamente"
fi

-------------------------------------------------------------------------------

só não testei por completo ainda...

[4] Comentário enviado por in54no em 07/03/2006 - 14:44h

opa kra, que dahora, valew ae :D:D gostei :D

[5] Comentário enviado por Rodrigo... em 07/03/2006 - 14:53h

se tiver alguma sugestão pra dar pra mim ;)

to corrigindo uns erros que percebi

quando modifico algo posto nesse link aki >> http://s11.invisionfree.com/GoodHacker/index.php?showtopic=114

vlws

[6] Comentário enviado por in54no em 07/03/2006 - 14:57h

blz :D:D
c tem jabber?? c tiver add eu: stryper@jabber.org

[7] Comentário enviado por Rodrigo... em 07/03/2006 - 15:09h

tenho não, só msn e google talk..

[8] Comentário enviado por Rodrigo... em 07/03/2006 - 15:20h

alias...como faço pra usar o jabber ?

[9] Comentário enviado por in54no em 07/03/2006 - 15:24h

adiciona eu no JABBER:
stryper@jabber.org

[10] Comentário enviado por ana maria em 09/09/2006 - 17:26h

como que eu fasso para poder instalar o msn ? por favor me responda...

[11] Comentário enviado por ana maria em 09/09/2006 - 17:29h

oie.... tem alguém ai para poder me responder??????????????????

[12] Comentário enviado por in54no em 09/09/2006 - 19:24h

Ola, ana maria...
Que distribuiçao linux voce usa?
O projeto de msn para linux é neste site: http://amsn.sourceforge.net/
Qualquer coisa mande email para mim: in54no.xjapan@gmail.com

Aqui no site, tem um lugar certinho para postar perguntas que todos irao ver, quando voce logar no site, na parte de baixo do site tem uma barra, clique onde esta escrito "Pergunta" para postar sua duvida! ok?

Neste link: http://amsn.sourceforge.net/linux-downloads.php
tem os pacotes corretos para determinada distribuicao linux, assim basta fazer o download e instalar.

Espero que ajude, té mais, fique com Deus


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts