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.506 ]

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: <[email protected]>
"""

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

Cliente/Servidor Usando Python

FREESCO Dialer Client

Cotação do Bitcoin

Script em Python 3.6 conectando em um API real da web

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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts