Tradutor on-line em Python+GTK
Publicado por Lincoln de Sousa 16/10/2005
[ Hits: 6.900 ]
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()
Enviando mensagens para celulares TIM
Script em Python 3.6 conectando em um API real da web
Conversor de String em Hex para String plana
hdns - Enumerador de diretórios
Como escolher o melhor escalonador de CPU para melhorar o desempenho da máquina
Curiosidade sobre DOOM Guy e Isabelle de Animal Crossing
Inicializando servidor Ubuntu na AWS e rodando apache em Container
Conheça o Octopi, outro frontend para o Pacman com acesso ao ARU (Arch Linux e derivados)
Terminal transparente no Debian 12 com interface i3wm usando Xfce4-Terminal e Compton
Como compilar o DOOM RETRO no Linux
Stacer - um otimizador gráfico básico de Linux
Corrigindo o erro de "WARNING: Possibly missing firmware for module" no Arch Linux
Após atualização do Ubuntu 22.04.4 LTS perdi a instalação da placa de ... (0)
DRIVER DE ADPTADOR HDMI PARA USB (2)
Ubuntu simplesmente morreu (7)