El arte de Python-Fu (cinturón blanco)

Este post fue migrado de un blog hecho con Wordpress. Si se ve mal, dejame un comentario y lo arreglo.

Como parte de mi aprendizaje del lenguaje de programación Python y por la necesidad de generar automáticamente algunos dibujos, incurcioné en el milenario arte del Python-Fu.

Si querés conocer más sobre este acestral arte, seguí leyendo..

Script-Fu (un dialecto de Scheme) es el lenguaje original (además de C) utilizado para escribir plug-ins para Gimp (The GNU Image Manipulation Program). Actualmente se pueden escribir plug-ins en otros lenguajes como Perl, Tcl y.. Python

¿qué hay que tener instalado?

    <li>python (<code>apt-get install python</code> en Debian GNU/Linux)</li>
    
    <li>gimp (<code>apt-get install gimp</code>)</li>
    
    <li>pygimp (<code>apt-get install gimp-python</code>)</li>
    

    Los dos primeros programas suelen estar instalados en la mayoría de las instalaciones de GNU/Linux, el último no. Una verificación rápida puede hacerse ejecutando gimp y buscando la opción Python-Fu en el menú Exts.

    Script-Fu

    En http://www.jamesh.id.au/software/pygimp/structure-of-plugin.html se puede ver la estructura de un Script-Fu.

    Cuando gimp es ejecutado, busca los archivos ejecutables que se encuentran en $HOME/.gimp-x-y/plug-ins/. En el caso de los scripts en python, la función register() es ejecutada y cuando se acceda al plug-in mediante el menú especificado se ejecutará su función principal. Antención a esto: los archivos deben ser tener encendido el bit de ejecución (chmod +x hello-world.py).

    Otro tip: si algo no funciona como se espera, una forma de enterarse que pasó es ejecutar gimp desde una terminal (gimp --verbose) y leer en esta las distintas salidas que produce el programa (allí se van a escribir los errores que se produzcan en tiempo de ejecución).

    Links útiles

    [update: a pedido del público: hello-world.py]

    Pueden bajar hello-world.py para ver un ejemplo sencillo. Debería generar una imagen como esta:Hello Worldsalvo que cambien los parámetros ;-)

    Comentarios