plo de este artículo nos valdremos deuna aplicación externa ligeramentemodificada (el código original lo encon-trareis en la web de
xml.com
en [3])desarrollada en Python, para que podáisecharle un ojo al código si os apetece,desde la cual parsearemos el xml de undocumento
RSS
para leer las últimasnoticias de los blogs que mas frecuente-mente visitemos. Más adelante expli-caremos esto detalladamente.
Instalación de Jython.
Para trabajar con Jython, necesitamostener Java instalado en nuestro orde-nador. Podemos usar el
Java Runtime Edition
(
j2re
), o el
Java Developers Kit
(
j2sdk
), en su
version 1.4.2
comomínimo, descargables desde [2].por sabido todo lo que hayáis aprendidoen los artículos anteriores de esta revista.En este artículo aprenderemos a usarelementos básicos de Java en Jython,trabajaremos con
swing
, y usaremosalgunos objetos de Java como son losvectores, entre otras cosas. Para el ejem-
45
www.linux-magazine.es
Número
04
DESARROLLO
Python
Figura 1:Nuestra utilidad busca-palabras en marcha.
Además necesitamos instalar el intér-prete de Jython disponible en [1], en suúltima versión estable (la
jython-2.1
) y,por último, para ejecutar nuestra apli-cación, deberemos tener instalado elintérprete de Python (
versión 2.3
).Una vez hemos descargado el intér-prete de Jython, debemos proceder a lainstalación del mismo. Ejecutamos
java jython-21
y nos saldrá el instalador(Figura 1), que nos pedirá confirmar unaserie de opciones y un directorio y yatendremos Jython instalado en nuestroordenador. Adicionalmente podemos
enlazar
los ejecutables de Jython a nues-tro directorio de binarios del sistema (
ln-s jython-2.1/jython /usr/bin/jython
y
ln-s jython-2.1/jythonc /usr/bin/jythonc
ennuestro caso) para no tener que ejecutarlos binarios desde el directorio donde lotengamos instalado. Esto último esrecomendable, además de que resultamucho más cómodo.
Primeros pasos
Bueno, ya está todo preparado en nues-tro sistema. Es hora de ver como fun-ciona Jython. Para empezar, podéistrastear un poco con el intérprete comolo habéis hecho con el de Python, y asípodréis ver que el funcionamiento esidéntico.
$ jythonJython 2.1 on java1.4.2_05
U
(JIT: null)Type "copyright", "credits" or
U
"license" for more information.>>> print 'Hola Mundo'Hola Mundo>>>
Bien, vamos a empezar a ver algunosejemplitos en java. Para empezar, ¿quétal el típico
Hola mundo
con
swing
? Esteejemplo mostrará una ventana llamada
Hola Mundo
, con un cuadro de texto.Para cerrarla tendréis que cerrar el intér-prete con
Control + C
ya que en el ejem-plo, no implementamos la salida de laaplicación.
01 $ jython02 Jython 2.1 on java1.4.2_05(JIT: null)03 Type "copyright", "credits"or "license"for more information.
093 furl.write(texto+'\n')094 i = i+1095 fg.close()096 furl.close()097098 def accionMenu(self,event):099 self.accion =event.getActionCommand()100 if self.accion =='Añadir':101 ifself.txtNombre.getText() =="":102self.vectorrss.add("SINNOMBRE\n")103 else:104self.vectorrss.add(self.txtNombre.getText())105 ifself.txtUrl.getText() == "":106self.vectorurl.add("SINURL\n")107 else:108self.vectorurl.add(self.txtUrl.getText())109110self.lstLista.setListData(self.vectorrss)111self.txtNombre.setText("")112self.txtUrl.setText("")113114 elif self.accion =='Leer':115 item =self.lstLista.getSelectedIndex()116 url =self.vectorurl.get(item)117 os.system('pythonlrss.py '+ url)118self.leeFicheroNoticias()119120 elif self.accion =='Borrar':121 itemborrar =self.lstLista.getSelectedIndex()122self.vectorrss.remove(itemborrar)123self.vectorurl.remove(itemborrar)124self.lstLista.setListData(self.vectorrss)125126 elif self.accion =='Guardar':127self.guardarFichero()128 root = Lector()
Listado 2:JyRSS.py (continuación)
043-047_Python_Linux4 15.02.2005 11:06 Uhr Página 45