Bot que baixa o KDE 3.4 e a QT para o Slackware 10.1

Publicado por Lincoln de Sousa 16/10/2005

[ Hits: 4.876 ]

Download getkde.py




Esse script pega a lista de arquivos .tgz do site do kde atravez de uma expressão regular na pagina do host e baixa pelo wget.

  



Esconder código-fonte

__doc__ = """ Usage: python getkde.py [OPTION]

Packages:
         --with-qt\t\t\tTenta baixar a lib grafica qt

Display:
    -s,  --show-files\t\t\tExibe os arquivos que ja foram baixados
    -c,  --confirm-download\t\tUse esta opcao para conferir os arquivos que foram baixados
    -h,  --help\t\t\t\tMostra essa ajuda

info: <lincoln.desousa@gmail.com>
"""

import os, sys, re, urllib

hosts = ('http://ftp.gtlib.cc.gatech.edu/pub/kde/stable/3.4.3/contrib/Slackware/10.1/',
         'http://ftp.scarlet.be/pub/kde/stable/3.4.3/contrib/Slackware/10.1/',
         'http://mirrors.isc.org/pub/kde/stable/3.4.3/contrib/Slackware/10.1/',
         'http://ftp.tiscali.nl/kde/stable/3.4.3/contrib/Slackware/10.1/')

for arg in sys.argv[1:]:
    if arg in ('--with-qt',):
        print 'Procurando qt'
        qt_host = 'ftp://ftp.slackware.com/pub/slackware/slackware-current/slackware/kde/qt-3.3.4-i486-2.tgz'
        a = os.system('wget %s' % qt_host)
        if a != 0:
            print ' - Ok'
        else:
            print ' - Erro'
    if arg in ('-s', '--show-files'):
        show_files = 1
    if arg in ('-c', '--confirm-download'):
        confirm_download = 1
    if arg in ('-h', '--help'):
        print __doc__
        sys.exit(0)

site = None
for h in hosts:
    try:
        p = h
        site = urllib.urlopen(p)
        break
    except IOError:
        pass

re_get_tgzs = re.compile('<a href="(.*).tgz">.*</a>')
tgzs = ['%s.tgz' % n for n in re_get_tgzs.findall(site.read())]

if site is None:
    print 'Nao ha hosts disponiveis'

if show_files:
    print 'arquivos que foram baixados'
    for t in tgzs:
        print t
    sys.exit(0)

if confirm_download:
    nofile = []
    for t in tgzs:
        if not os.path.isfile(t):
            nofile.append(t)
    if len(nofile):
        print 'os seguintes arquivos nao foram baixados:'
        for i in nofile:
            print i
    else:
        print 'todos os arquivos foram baixados'
    sys.exit(0)

for t in tgzs:
    print 'Tentando %s' % t
    if not os.path.isfile(t):
        # esse trem de os.system eh meio porco mas eu tava com pressa
        # pra fazer de um jeito legal consulte os.popen
        a = os.system('wget %s%s' % (p, t))
        if a == 0:
            print ' - Ok'
        else:
            print ' - Erro'

Scripts recomendados

Conversor de vídeos do YouTube para MP3

Enviando emails com autenticação smtp python cgi

2182611819

Cliente/Servidor Usando Python

Consumo de API aberta IBGE


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts