ISOsync_pt-BR.py - Um Baixador Automático de ISOs de Sabayon, escrito em Python
Publicado por Alberto Federman Neto. (última atualização em 31/05/2017)
[ Hits: 1.642 ]
Homepage: https://ciencialivre.blog/
Nova versão de Junho de 2017, corrigindo pequenos Bugs de Tradução e Código.
Esta é uma adaptação (para servidores brasileiros) e tradução (para pt-BR) de um "Baixador" de ISOs, para baixar os Sabayon Linux atuais (Daily 17.05 e Monthly 17.03) de Junho de 2017.
O arquivo é uma tradução, atualização (o original era para Sabayon 16) e modificação do arquivo original.escrito em Python (ISO Sync) por Wolfden, EUA. Ele é um dos desenvolvedores do Sabayon.
Link do original:
https://github.com/wolfden/Coding/blob/master/python%20files/iso_rsync#L1
Os servidores RSYNC (originais da Bélgica) foram substituídos pelos espelhos do RSYNC brasileiro, e os comandos de baixar foram modificados para funcionarem com os parâmetros brasileiros.
Para ir atualizando este script, certifique-se de editar as linhas para adequar sempre para as mais recentes ISOs Monthly, veja aqui, quais...
http://sabayon.c3sl.ufpr.br/stable/
Se não editar, não funcionará, somente para as Daily Builds.
Testado em 13 de Junho de 2017, em Sabayon Linux 17.05. Baixa quaisquer "Daily Builds" e as estáveis, Montly, 17.03.
Para rodar o script, execute:
python ISOsync_pt-BR.py
#!/usr/bin/python # ISORSYNC,Portugues do Brasil, um Baixador Automatico de ISOs novas # do Sabayon Linux. # Programado Em Python, por Wolfden, Desenvolvedor Sabayon. # 2017. # github.com/wolfden/Coding/blob/master/python%20files/iso_rsync#L1 # Traduzido e Modificado para os Espelhos Brasileiros,em # Editor Geany: # Alberto Federman Neto, <albfneto@fcfrp.usp.br>, 2017. # Versao 4, Build 3. # Servidor RSYNC trocado para Espelho Brasileiro e comandos adaptados para funcionar # com os espelhos do Brasil. # converted Joost's bash script to python by wolfden # script for rsyncing iso files # Edit the mirrors to your liking # Edit the isos directory to your liking # Agora para as Novas versoes estaveis, 17.03. # original version for 16.11 stable releases import subprocess import sys # Change daily mirror url to your favorite mirror # Espelho Brasileiro mirror = "rsync://sabayon.c3sl.ufpr.br" mpath = "/sabayon/iso/daily/" # Change monthly mirror url to your favorite mirror # Espelho Brasileiro smirror = "rsync://sabayon.c3sl.ufpr.br" smpath = "/sabayon/iso/monthly/" smstab = "/sabayon/stable/" # Directory of stored ISOs -- Edit to fit your setup # Diretorio para sua ISO. Modifique, se quiser: isos = "/home/albfneto/Desktop/PACOTES/sabaisos" # Dev ISOs dvkde = "/Sabayon_Linux_DAILY_amd64_KDE-dev.iso" dvgnome = "/Sabayon_Linux_DAILY_amd64_GNOME-dev.iso" dvmate = "/Sabayon_Linux_DAILY_amd64_MATE-dev.iso" dvxfce = "/Sabayon_Linux_DAILY_amd64_Xfce-dev.iso" dvminimal = "/Sabayon_Linux_DAILY_amd64_Minimal-dev.iso" dvspinbase = "/Sabayon_Linux_DAILY_amd64_SpinBase-dev.iso" dvserver = "/Sabayon_Linux_DAILY_amd64_Server-dev.iso" # Dev ISOs sources dvksource = mirror + mpath + dvkde dvgsource = mirror + mpath + dvgnome dvmasource = mirror + mpath + dvmate dvxsource = mirror + mpath + dvxfce dvmsource = mirror + mpath + dvminimal dvssource = mirror + mpath + dvspinbase dvsvsource = mirror + mpath + dvserver # Dev md5 dvkdemd5 = "/Sabayon_Linux_DAILY_amd64_KDE-dev.iso.md5" dvgnomemd5 = "/Sabayon_Linux_DAILY_amd64_GNOME-dev.iso.md5" dvmatemd5 = "/Sabayon_Linux_DAILY_amd64_MATE-dev.iso.md5" dvxfcemd5 = "/Sabayon_Linux_DAILY_amd64_Xfce-dev.iso.md5" dvminimalmd5 = "/Sabayon_Linux_DAILY_amd64_Minimal-dev.iso.md5" dvspinbasemd5 = "/Sabayon_Linux_DAILY_amd64_SpinBase-dev.iso.md5" dvsvsourcemd5 = "/Sabayon_Linux_DAILY_amd64_Server-dev.iso.md5" # Dev md5 sources dvksourcemd5 = mirror + mpath + dvkdemd5 dvgsourcemd5 = mirror + mpath + dvgnomemd5 dvmasourcemd5 = mirror + mpath + dvmatemd5 dvxsourcemd5 = mirror + mpath + dvxfcemd5 dvmsourcemd5 = mirror + mpath + dvminimalmd5 dvssourcemd5 = mirror + mpath + dvspinbasemd5 dvsvsourcemd5 = mirror + mpath + dvsvsourcemd5 # Dev pkglist dvkdepkglist = "/Sabayon_Linux_DAILY_amd64_KDE-dev.iso.pkglist" dvgnomepkglist = "/Sabayon_Linux_DAILY_amd64_GNOME-dev.iso.pkglist" dvmatepkglist = "/Sabayon_Linux_DAILY_amd64_MATE-dev.iso.pkglist" dvxfcepkglist = "/Sabayon_Linux_DAILY_amd64_Xfce-dev.iso.pkglist" dvminimalpkglist = "/Sabayon_Linux_DAILY_amd64_Minimal-dev.iso.pkglist" dvspinbasepkglist = "/Sabayon_Linux_DAILY_amd64_SpinBase-dev.iso.pkglist" dvsvsourcepkglist = "/Sabayon_Linux_DAILY_amd64_Server-dev.iso.pkglist" # Dev pkglist sources dvksourcepkglist = mirror + mpath + dvkdepkglist dvgsourcepkglist = mirror + mpath + dvgnomepkglist dvmasourcepkglist = mirror + mpath + dvmatepkglist dvxsourcepkglist = mirror + mpath + dvxfcepkglist dvmsourcepkglist = mirror + mpath + dvminimalpkglist dvssourcepkglist = mirror + mpath + dvspinbasepkglist dvsvsourcepkglist = mirror + mpath + dvsvsourcepkglist # Daily ISOs dkde = "/Sabayon_Linux_DAILY_amd64_KDE.iso" dgnome = "/Sabayon_Linux_DAILY_amd64_GNOME.iso" dmate = "/Sabayon_Linux_DAILY_amd64_MATE.iso" dxfce = "/Sabayon_Linux_DAILY_amd64_Xfce.iso" dminimal = "/Sabayon_Linux_DAILY_amd64_Minimal.iso" dspinbase = "/Sabayon_Linux_DAILY_amd64_SpinBase.iso" dforensics = "/Sabayon_Linux_DAILY_amd64_ForensicsXfce.iso" dserver = "/Sabayon_Linux_DAILY_amd64_Server.iso" # Daily sources dksource = mirror + mpath + dkde dgsource = mirror + mpath + dgnome dmasource = mirror + mpath + dmate dxsource = mirror + mpath + dxfce dmsource = mirror + mpath + dminimal dssource = mirror + mpath + dspinbase dfsource = mirror + mpath + dforensics dsvsource = mirror + mpath + dserver # Daily md5s dkdemd5 = "/Sabayon_Linux_DAILY_amd64_KDE.iso.md5" dgnomemd5 = "/Sabayon_Linux_DAILY_amd64_GNOME.iso.md5" dmatemd5 = "/Sabayon_Linux_DAILY_amd64_MATE.iso.md5" dxfcemd5 = "/Sabayon_Linux_DAILY_amd64_Xfce.iso.md5" dminimalmd5 = "/Sabayon_Linux_DAILY_amd64_Minimal.iso.md5" dspinbasemd5 = "/Sabayon_Linux_DAILY_amd64_SpinBase.iso.md5" dforensicsmd5 = "/Sabayon_Linux_DAILY_amd64_ForensicsXfce.iso.md5" dservermd5 = "/Sabayon_Linux_DAILY_amd64_Server.iso.md5" # Daily md5 sources dkmd5source = mirror + mpath + dkdemd5 dgmd5source = mirror + mpath + dgnomemd5 dmamd5source = mirror + mpath + dmatemd5 dxmd5source = mirror + mpath + dxfcemd5 dmmd5source = mirror + mpath + dxfcemd5 dsmd5source = mirror + mpath + dspinbasemd5 dfmd5source = mirror + mpath + dforensicsmd5 dsvmd5source = mirror + mpath + dservermd5 # Daily ISO pkglist dkdepkglist = "/Sabayon_Linux_DAILY_amd64_KDE.iso.pkglist" dgnomepkglist = "/Sabayon_Linux_DAILY_amd64_GNOME.iso.pkglist" dmatepkglist = "/Sabayon_Linux_DAILY_amd64_MATE.iso.pkglist" dxfcepkglist = "/Sabayon_Linux_DAILY_amd64_Xfce.iso.pkglist" dminimalpkglist = "/Sabayon_Linux_DAILY_amd64_Minimal.iso.pkglist" dspinbasepkglist = "/Sabayon_Linux_DAILY_amd64_SpinBase.iso.pkglist" dforensicspkglist = "/Sabayon_Linux_DAILY_amd64_ForensicsXfce.iso.pkglist" dserverpkglist = "/Sabayon_Linux_DAILY_amd64_Server.iso.pkglist" # Daily ISO pkglist sources dkpkglistsource = mirror + mpath + dkdepkglist dgpkglistsource = mirror + mpath + dgnomepkglist dmapkglistsource = mirror + mpath + dmatepkglist dxpkglistsource = mirror + mpath + dxfcepkglist dmpkglistsource = mirror + mpath + dminimalpkglist dspkglistsource = mirror + mpath + dspinbasepkglist dfpkglistsource = mirror + mpath + dforensicspkglist dsvpkglistsource = mirror + mpath + dserverpkglist # Stable ISOs - edit version number to current one, otherwise it will fail # ISOs de KDE Estaveis, as Monthly. Edite para a mais nova versao, ou nao vai funcionar: skde = "/Sabayon_Linux_17.03_amd64_KDE.iso" sgnome = "/Sabayon_Linux_17.03_amd64_GNOME.iso" smate = "/Sabayon_Linux_17.03_amd64_MATE.iso" sxfce = "/Sabayon_Linux_17.03_amd64_Xfce.iso" sminimal = "/Sabayon_Linux_17.03_amd64_Minimal.iso" sspinbase = "/Sabayon_Linux_17.03_amd64_SpinBase.iso" sserver = "/Sabayon_Linux_17.03_amd64_Server.iso" # Stable sources sksource = smirror + smstab + skde sgsource = smirror + smstab + sgnome smasource = smirror + smstab + smate sxsource = smirror + smstab + sxfce smsource = smirror + smstab + sminimal sssource = smirror + smstab + sspinbase ssvsource = smirror + smstab + sserver # Stable md5 - edit version number to current one, otherwise it will fail # ISOs de KDE Estaveis, Monthly. Edite para a mais nova versao, ou nao vai funcionar: skdemd5 = "/Sabayon_Linux_17.03_amd64_KDE.iso.md5" sgnomemd5 = "/Sabayon_Linux_17.03_amd64_GNOME.iso.md5" smatemd5 = "/Sabayon_Linux_17.03_amd64_MATE.iso.md5" sxfcemd5 = "/Sabayon_Linux_17.03_amd64_Xfce.iso.md5" sminimalmd5 = "/Sabayon_Linux_17.03_amd64_Minimal.iso.md5" sspinbasemd5 = "/Sabayon_Linux_17.03_amd64_SpinBase.iso.md5" sservermd5 = "/Sabayon_Linux_17.03_amd64_Server.iso.md5" # Stable md5 sources sksourcemd5 = smirror + smstab + skdemd5 sgsourcemd5 = smirror + smstab + sgnomemd5 smasourcemd5 = smirror + smstab + smatemd5 sxsourcemd5 = smirror + smstab + sxfcemd5 smsourcemd5 = smirror + smstab + sminimalmd5 sssourcemd5 = smirror + smstab + sspinbasemd5 ssvsourcemd5 = smirror + smstab + sservermd5 # Stable pkglist - edit version number to current one, otherwise it will fail # # ISOs de KDE Estaveis, Monthly. Edite para a mais nova versao, ou nao funcionara: skdepkglist = "/Sabayon_Linux_17.03_amd64_KDE.iso.pkglist" sgnomepkglist = "/Sabayon_Linux_17.03_amd64_GNOME.iso.pkglist" smatepkglist = "/Sabayon_Linux_17.03_amd64_MATE.iso.pkglist" sxfcepkglist = "/Sabayon_Linux_17.03_amd64_Xfce.iso.pkglist" sminimalpkglist = "/Sabayon_Linux_17.03_amd64_Minimal.iso.pkglist" sspinbasepkglist = "/Sabayon_Linux_17.03_amd64_SpinBase.iso.pkglist" sserverbasepkglist = "/Sabayon_Linux_17.03_amd64_Server.iso.pkglist" # Stable pkglist sources sksourcepkglist = smirror + smstab + skdepkglist sgsourcepkglist = smirror + smstab + sgnomepkglist smasourcepkglist = smirror + smstab + smatepkglist sxsourcepkglist = smirror + smstab + sxfcepkglist smsourcepkglist = smirror + smstab + sminimalpkglist sssourcepkglist = smirror + smstab + sspinbasepkglist ssvsourcepkglist = smirror + smstab + sspinbasepkglist print "\nBenvindo ao Sincronizador: Sabayon Linux(tm) Syncmaster!" print "\nEscolha Qual Sabayon Voce Quer Baixar!" # Menu with choice, user will enter a number for desire choice # Menu de Escolha da ISO. ans = True while ans: print (""" Sabayon Linux, ISOs Daily, Novas e Tipo Dev: 0.Sabayon_Linux_DAILY_amd64_KDE-dev 1.Sabayon_Linux_DAILY_amd64_GNOME-dev 2.Sabayon_Linux_DAILY_amd64_MATE-dev 3.Sabayon_Linux_DAILY_amd64_Xfce-dev 4.Sabayon_Linux_DAILY_amd64_Minimal-dev 5.Sabayon_Linux_DAILY_amd64_SpinBase-dev 6.Sabayon_Linux_DAILY_amd64_Server-dev Sabayon Linux ISOs Daily Gerais, as mais Novas: 7.Sabayon_Linux_DAILY_amd64_KDE 8.Sabayon_Linux_DAILY_amd64_GNOME 9.Sabayon_Linux_DAILY_amd64_MATE 10.Sabayon_Linux_DAILY_amd64_Xfce 11.Sabayon_Linux_DAILY_amd64_Minimal 12.Sabayon_Linux_DAILY_amd64_SpinBase 13.Sabayon_Linux_DAILY_amd64_Server Sabayon Linux, ISOs Montly, Estaveis: 14.Sabayon_Linux_amd64_KDE 15.Sabayon_Linux_amd64_GNOME 16.Sabayon_Linux_amd64_MATE 17.Sabayon_Linux_amd64_Xfce 18.Sabayon_Linux_amd64_Minima 19.Sabayon_Linux_amd64_SpinBase 20.Sabayon_Linux_amd64_Server Sabayon Forense de Wolfden: 21.Sabayon_Linux_amd64_ForensicsXfce 22.Exit """) # All the rsync stuffs via menu selection # Rsync vai baixar, de acordo com sua selecao ans = raw_input("Entre com o Numero Correspondente ao Sabayon Que Quer Baixar.") if ans == "0": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', dvksource, isos]) subprocess.call(['rsync', '-av', '--progress', dvksourcemd5, isos]) subprocess.call(['rsync', '-av', '--progress', dvksourcepkglist, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "1": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', dvgsource, isos]) subprocess.call(['rsync', '-av', '--progress', dvgsourcemd5, isos]) subprocess.call(['rsync', '-av', '--progress', dvgsourcepkglist, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "2": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', dvmasource, isos]) subprocess.call(['rsync', '-av', '--progress', dvmasourcemd5, isos]) subprocess.call(['rsync', '-av', '--progress', dvmasourcepkglist, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "3": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', dvxsource, isos]) subprocess.call(['rsync', '-av', '--progress', dvxsourcemd5, isos]) subprocess.call(['rsync', '-av', '--progress', dvxsourcepkglist, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "4": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', dvmsource, isos]) subprocess.call(['rsync', '-av', '--progress', dvmsourcemd5, isos]) subprocess.call(['rsync', '-av', '--progress', dvmsourcepkglist, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "5": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', dvssource, isos]) subprocess.call(['rsync', '-av', '--progress', dvssourcemd5, isos]) subprocess.call(['rsync', '-av', '--progress', dvssourcepkglist, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "6": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', dvsvsource, isos]) subprocess.call(['rsync', '-av', '--progress', dvsvsourcemd5, isos]) subprocess.call(['rsync', '-av', '--progress', dvsvsourcepkglist, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "7": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', dksource, isos]) subprocess.call(['rsync', '-av', '--progress', dkmd5source, isos]) subprocess.call(['rsync', '-av', '--progress', dkpkglistsource, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "8": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', dgsource, isos]) subprocess.call(['rsync', '-av', '--progress', dgmd5source, isos]) subprocess.call(['rsync', '-av', '--progress', dgpkglistsource, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "9": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', dmasource, isos]) subprocess.call(['rsync', '-av', '--progress', dmamd5source, isos]) subprocess.call(['rsync', '-av', '--progress', dmapkglistsource, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "10": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', dxsource, isos]) subprocess.call(['rsync', '-av', '--progress', dxmd5source, isos]) subprocess.call(['rsync', '-av', '--progress', dxpkglistsource, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "11": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', dmsource, isos]) subprocess.call(['rsync', '-av', '--progress', dmmd5source, isos]) subprocess.call(['rsync', '-av', '--progress', dmpkglistsource, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "12": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', dssource, isos]) subprocess.call(['rsync', '-av', '--progress', dsmd5source, isos]) subprocess.call(['rsync', '-av', '--progress', dspkglistsource, isos]) elif ans == "13": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', dsvsource, isos]) subprocess.call(['rsync', '-av', '--progress', dsvmd5source, isos]) subprocess.call(['rsync', '-av', '--progress', dsvpkglistsource, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "14": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', sksource, isos]) subprocess.call(['rsync', '-av', '--progress', sksourcemd5, isos]) subprocess.call(['rsync', '-av', '--progress', sksourcepkglist, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "15": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', sgsource, isos]) subprocess.call(['rsync', '-av', '--progress', sgsourcemd5, isos]) subprocess.call(['rsync', '-av', '--progress', sgsourcepkglist, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "16": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', smasource, isos]) subprocess.call(['rsync', '-av', '--progress', smasourcemd5, isos]) subprocess.call(['rsync', '-av', '--progress', smasourcepkglist, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "17": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', sxsource, isos]) subprocess.call(['rsync', '-av', '--progress', sxsourcemd5, isos]) subprocess.call(['rsync', '-av', '--progress', sxsourcepkglist, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "18": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', smsource, isos]) subprocess.call(['rsync', '-av', '--progress', smsourcemd5, isos]) subprocess.call(['rsync', '-av', '--progress', smsourcepkglist, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "19": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', sssource, isos]) subprocess.call(['rsync', '-av', '--progress', sssourcemd5, isos]) subprocess.call(['rsync', '-av', '--progress', sssourcepkglist, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "20": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', ssvsource, isos]) subprocess.call(['rsync', '-av', '--progress', ssvsourcemd5, isos]) subprocess.call(['rsync', '-av', '--progress', ssvsourcepkglist, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "21": print "Iniciando RSYNC e Baixando..." subprocess.call(['rsync', '-av', '--progress', dfsource, isos]) subprocess.call(['rsync', '-av', '--progress', dfmd5source, isos]) subprocess.call(['rsync', '-av', '--progress', dfpkglistsource, isos]) print "Sincronismo Completo e ISO Baixada." elif ans == "22": print "Obrigado por usar o Sincronizador, Sabayon Linux(tm) Syncmaster" sys.exit() elif ans != "": print "Erro ou Arquivo nao Achado"
Gerador de números para Mega-Sena
Conversor de Temperaturas Kelvin Celsius e Fahrenheit
Jogo de adivinhar o número aleatório
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Falta pacotes de suporte ao sistema de arquivos (Gerenciador de discos... (2)
Enzo quer programar mas não faz código pra não bugar (12)
Erro de Montagem SSD Nvme (12)
WebScrapping através de screenshot devido a bloqueios de Shadow DOM (1)