Pular para o conteúdo

Tradutor on-line em Python+GTK

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!!!
Lincoln de Sousa mindingo
Hits: 7.499 Categoria: Python Subcategoria: Internet
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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!!!
Download tradutor.py Enviar nova versão

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

baixador em python 2.0

Enviando emails com autenticação smtp python cgi

Script em Python 3.6 para fazer scrape de uma URL exportando métricas no formato Prometheus

Upload gráfico via ftp em GTK

Quebrador de links

#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

Entre na sua conta para comentar.