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

Publicado por Lincoln de Sousa 16/10/2005

[ Hits: 5.010 ]

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

navegador ftp

CompareChannels

Consumo de API aberta IBGE

Busca MercadoLivre

Script que obtém informações disponibilizadas a bots pelos sites


  

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