[pyar] Mini-navegador en Python

Juan M. sendmeyourspam en zoho.com
Lun Jul 5 13:00:35 ART 2010


Hola, navegando por ahí encontré éste pequeñísimo navegador web hecho en
python y parece muy interesante para los que trabajen o quieran trabajar
con webkit... GTK es opcional y puede ser reemplazado por QT, WX, Tk
(etc)...
en fin, éste es el script:


#!/usr/bin/env python
import sys
import gtk
import webkit
DEFAULT_URL = 'http://www.google.com' # Change this as you Wish
class SimpleBrowser: # needs GTK, Python, Webkit-GTK
    def __init__(self):
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.set_position(gtk.WIN_POS_CENTER_ALWAYS)
        self.window.connect('delete_event', self.close_application)
        self.window.set_default_size(350, 20)
        vbox = gtk.VBox(spacing=5)
        vbox.set_border_width(5)
        self.txt_url = gtk.Entry()
        self.txt_url.connect('activate', self._txt_url_activate)
        self.scrolled_window = gtk.ScrolledWindow()
        self.webview = webkit.WebView()
        self.scrolled_window.add(self.webview)
        vbox.pack_start(self.scrolled_window, fill=True, expand=True)
        self.window.add(vbox)
    def _txt_url_activate(self, entry):
        self._load(entry.get_text())
    def _load(self, url):
        self.webview.open(url)
    def open(self, url):
        self.txt_url.set_text(url)
        self.window.set_title('%s' % url)
        self._load(url)
    def show(self):
        self.window.show_all()
    def close_application(self, widget, event, data=None):
        gtk.main_quit()
if __name__ == '__main__':
    if len(sys.argv) > 1:
        url = sys.argv[1]
    else:
        url = DEFAULT_URL
    gtk.gdk.threads_init()
    browser = SimpleBrowser()
    browser.open(url)
    browser.show()
    gtk.main()

Agrego: Funciona al pelo en Fedora y Ubuntu, pero al ser muy primitivo
sólo recomiendo usarlo para visualizar texto y links en HTML, imágenes
tal vez, pero funciones como descarga de archivos, o visualización de
contenidos como flash no están soportados (ni siquiera los botones atrás
y adelante)






More information about the pyar mailing list