Tradutor on-line em Python+GTK
Publicado por Lincoln de Sousa 16/10/2005
[ Hits: 7.006 ]
Um exemplo de utilização de rotinas em GTK, regular expressions e urllib. E é mais uma prova que o Python também é Orientado a Objetos!!!
import gtk import urllib import re # marretinha para converter os caracteres pra utf-8 # aqrui voce pode substituir esse lambda pelo pygettext se voce # quiser internacionalizar o programa _ = lambda x: unicode(x, 'utf-8', 'ignore') class Tradutor(gtk.Window): """ classe principal da aplicacao. """ def __init__(self): """ construtora da classe """ gtk.Window.__init__(self) self.set_title(_('PyTranslate')) self.set_border_width(3) self.connect('destroy', self.quit_window) vbox = gtk.VBox() hbox = gtk.HBox() self.label = gtk.Label() entry = gtk.Entry() bnt = gtk.Button('Ok') bnt.connect('clicked', self.update_answer, entry) hbox.pack_start(entry) hbox.pack_start(bnt) vbox.pack_start(hbox) vbox.pack_start(self.label) self.add(vbox) def quit_window(self, *args): """ sai da aplicacao """ gtk.main_quit() def update_answer(self, button, entry): """ atualiza o label de resposta """ url = 'http://online.babylon.com/cgi-bin/trans.cgi'\ '?layout=uol.txt&lang=ptg&word=%s' button.set_sensitive(False) etext = entry.get_text() page = urllib.urlopen(url % etext) page = page.read() page = page.replace('<br>', '<BR>') page = page.replace('<BR>', '\n') no_title = re.compile('(<title>.*</title>)', re.S) page = no_title.sub('', page) no_html = re.compile('(<.*?>)', re.S) page = no_html.sub('', page).strip() page = page.replace(etext, '<b>%s</b>' % etext, 1) self.label.set_markup(_(page)) button.set_sensitive(True) if __name__ == '__main__': new_app = Tradutor() new_app.show_all() gtk.main()
Cotação do Dólar com requests_html
Envio e recebimento de arquivos em Python
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
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Linux rodando do hd externo ou ssd? (0)
Tentando acessar o linux por conexão área remota (1)
Site para donwloads de ISO windows server, xp e outros. (2)
Acabei de formatar meu ssd e deu erro (0)
Não consigo copiar arquivos do Mint para meu smartphone com android 11... (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta