Un navegador web en un script de python de 1.2Kb

Volviendo de nuevo con el tema de aplicaciones livianas para equipos con escasos recursos, me encuentro con este post en el blog de Fausto (aunque también, Thalskarth lo comentó ayer) que nos muestra un simple script en python que nos permite navegar por cualquier sitio. Es muy sencillo de usar, solamente tenemos que copiar el código (que está después del salto) y grabarlo con la extension .py. Luego en la terminal (si, sólo funciona en GNU/Linux) debemos darle permisos de ejecución mediante el comando chmod +x nombrequeelegimos.py.Finalmente lo ejecutamos de la siguiente manera: python comosellame.py http://puntogeek.com. Si quiere visitar PuntoGeek, mejor, pero ahí ingresan cualquier sitio que quieran ver.



#!/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()

Yo lo probé y funciona muy bien. Utiliza el motor WebKit (no me pregunten como), así que la compatibilidad con los sitios esta asegurada. Y el consumo de memoria RAM no supera los 40 MB.

LEER
Revive Another World, el clásico de los 90, en tu navegador sin ningún plugin