Como se Hace? Integrando Python en Firefox

Comentarios 5

firefox & pythonHola comunidad, esta vez les traigo un ejemplo de como integrar Python dentro de Firefox para todos aquellos desarrolladores que utilizan ese lenguaje de programación y los que quieran saber como.

Me disculpan si ha variado un poco, pero es que estuve buscando sobre este tema y junto con otras cosas esto fue lo único que encontré y data del 2006.

Si compilas Firefox desde ese branch con solo el soporte de Python a xpcom (para hacer la primera compilación con algo seguro que no de error) y los tests que pude hacer funcionaron correctamente:

Un ejemplo sobre Python dentro de .XUL:

<?xml version=»1.0″?>
<window
xmlns=»https://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul»
id=»main-window»>
<script><![CDATA[
import xpcom
class HelloWorld:

def __init__(self,message=»Hello World»):

self._promptService =

xpcom.components.classes[«@mozilla.org/embedcomp/prompt-service;1»]
.getService(xpcom.components.interfaces.nsIPromptService)

self.message=message

def show(self):

self._promptService.alert(this.window,»title», self.message);

helloWorld=HelloWorld()
helloWorld.show()
]]></script>
</window>

5 Comentarios

Escribir Comentario
  1. Mano!!!,tremenda la potencia que le da Python a XUL con esta integración, no solo javascript sino también un lenguaje de altísimo nivel y muy fácil de aprender como python, ahora si, una pitón + un zorro, jeje.

  2. Aún no entiendo muy bien como funciona. Qué debería hacer ese código ? Quisiera saber algo sobre la creación de extensiones XUL + Python.

  3. Bien Victor, lo que hace es declarar un objeto con la propiedad «mensaje» y el método Show() el cual muestra un mensaje de alerta con el título de la ventana actual y el texto que le pasas por parámetro al constructor del objeto «HelloWorld».

  4. …hay (o había) una extensión para esto, pyxpcom o algo de eso

  5. La buscaremos y si la encontramos la publicaremos en el sitio.

Escribe un comentario

Puedes usar las etiquetas HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>