Tradutor on-line em Python+GTK

Publicado por Lincoln de Sousa 16/10/2005

[ Hits: 7.006 ]

Download tradutor.py




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!!!

  



Esconder código-fonte

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()

Scripts recomendados

Cotação do Dólar com requests_html

FREESCO Dialer Client

python instalador 2.0

Envio e recebimento de arquivos em Python

CompareChannels


  

Comentários
[1] Comentário enviado por poet em 14/12/2005 - 17:24h

Muito Legal mesmo !!
valeu.
[]ś

[2] Comentário enviado por Brunonormandia em 07/09/2007 - 19:39h

muito útil seu script!
Parabéns


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts