<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>En borrador permanente &#187; Python Fu</title>
	<atom:link href="http://www.juanjoconti.com.ar/categoria/aprendiendo-python/python-fu/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.juanjoconti.com.ar</link>
	<description>el blog de Juanjo Conti - abstracto, lúdico y digital</description>
	<lastBuildDate>Tue, 07 Feb 2012 16:20:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Manipulación de pixels con Python-Fu</title>
		<link>http://www.juanjoconti.com.ar/2007/12/29/manipulacion-de-pixels-con-python-fu/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=manipulacion-de-pixels-con-python-fu</link>
		<comments>http://www.juanjoconti.com.ar/2007/12/29/manipulacion-de-pixels-con-python-fu/#comments</comments>
		<pubDate>Sun, 30 Dec 2007 00:55:56 +0000</pubDate>
		<dc:creator>Juanjo</dc:creator>
				<category><![CDATA[Python Fu]]></category>
		<category><![CDATA[GIMP]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.juanjoconti.com.ar/2007/12/29/manipulacion-de-pixels-con-python-fu/</guid>
		<description><![CDATA[Usando GIMP y el complemento que permite crear plug-ins en Python podemos hacer manipulación a bajo nivel de los pixels de una imagen. PixelRegion PixelRegion permite realizar una abstracción sobre una imagen de forma tal de verla como una región &#8230; <a href="http://www.juanjoconti.com.ar/2007/12/29/manipulacion-de-pixels-con-python-fu/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Usando <a title="The GNU Image Manipulation Program" href="http://www.gimp.org" target="_blank">GIMP</a> y el complemento que permite crear <a title="Python-Fu doc" href="http://www.gimp.org/docs/python/index.html" target="_blank">plug-ins en Python</a> podemos hacer manipulación a bajo nivel de los pixels de una imagen.</p>
<h2>PixelRegion</h2>
<p>PixelRegion permite realizar una abstracción sobre una imagen de forma tal de verla como una región de pixeles. Cada posición x,y de la región corresponde a un pixel de la imagen. En el caso de las imágenes <a title="Red, Green, Blue" href="http://es.wikipedia.org/wiki/Modelo_de_color_RGB" target="_blank">RGB</a>, cada pixel tiene 3 valores. En Python-Fu estos valores son representados con un string de 3 caracteres en el que cada caracter es uno de aquellos que tiene su número de orden (función <code>ord</code>) entre  y 255.</p>
<p>Los siguientes ejemplos son una demostración sencilla de como trabajar con PixelPerfect para manipular imágenes. En el primer ejemplo  se leen los valores de algunos de los pixeles de la imagen y en el segundo se escriben otros.<span id="more-394"></span></p>
<h3>Ejemplo 1 (lectura)</h3>
<p>La siguiente imagen de 5&#215;5 pixeles (ampliada) será usada para este ejemplo:</p>
<p align="center"><img src="http://www.juanjoconti.com.ar/wp-content/uploads/2007/12/5-big.jpg" alt="5×5 pixel image" /></p>
<p align="center"><em>Imagen original</em></p>
<p>La función <code>pixel</code> es la que se ejecutará cuando ejecutemos el plug-in creado para este ejemplo. No se ingresan parámetros desde la interfaz gráfica del mismo, pero la función recibe 2 argumentos. Objetos que representan la imagen y la capa (layer) a procesar.</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">def</span> pixels<span style="color: black;">&#40;</span>img, layer<span style="color: black;">&#41;</span>:
&nbsp;
    w = layer.<span style="color: black;">width</span>
    h = layer.<span style="color: black;">height</span>
&nbsp;
    pr = layer.<span style="color: black;">get_pixel_rgn</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>, <span style="color: #ff4500;">0</span>, w, h<span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Valores de los pixeles de las esquinas de la imagen&quot;</span>
&nbsp;
    r,g,b = pr<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: black;">&#91;</span><span style="color: #008000;">ord</span><span style="color: black;">&#40;</span>x<span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">for</span> x <span style="color: #ff7700;font-weight:bold;">in</span> r,g,b<span style="color: black;">&#93;</span>
&nbsp;
    r,g,b = pr<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">4</span><span style="color: black;">&#93;</span>
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: black;">&#91;</span><span style="color: #008000;">ord</span><span style="color: black;">&#40;</span>x<span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">for</span> x <span style="color: #ff7700;font-weight:bold;">in</span> r,g,b<span style="color: black;">&#93;</span>
&nbsp;
    r,g,b = pr<span style="color: black;">&#91;</span><span style="color: #ff4500;">4</span>,<span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: black;">&#91;</span><span style="color: #008000;">ord</span><span style="color: black;">&#40;</span>x<span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">for</span> x <span style="color: #ff7700;font-weight:bold;">in</span> r,g,b<span style="color: black;">&#93;</span>
&nbsp;
    r,g,b = pr<span style="color: black;">&#91;</span><span style="color: #ff4500;">4</span>,<span style="color: #ff4500;">4</span><span style="color: black;">&#93;</span>
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: black;">&#91;</span><span style="color: #008000;">ord</span><span style="color: black;">&#40;</span>x<span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">for</span> x <span style="color: #ff7700;font-weight:bold;">in</span> r,g,b<span style="color: black;">&#93;</span>
&nbsp;
    layer.<span style="color: black;">update</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>, <span style="color: #ff4500;">0</span>, w, h<span style="color: black;">&#41;</span>
    layer.<span style="color: black;">flush</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
    gimp.<span style="color: black;">displays_flush</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>El ejemplo es sencillo y lo que hace es instanciar una PixelRegion tan grande como la capa (layer). Luego los diferentes pixeles de la misma pueden accederse mediante sus coordenadas: <code>pr[x,y]</code>.</p>
<p>Se muestran los valores RGB de cada uno de los puntos del ejemplo.</p>
<p>Código fuente: <a title="read" href="http://www.juanjoconti.com.ar/files/python/fu/pixels/pixels-read.py.html" target="_blank">pixels-read.py</a></p>
<h3>Ejemplo 2 (escritura)</h3>
<p>En una porción de código que empieza de forma similar a la del ejemplo anterior podemos ver que una vez que hemos obtenido la PixelRegion que nos interesa, podemos escribir pixeles en ella.</p>
<p>El siguiente ejemplo aplicado sobre la imagen del ejemplo anterior dibuja una equis amarilla:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">def</span> pixels_write<span style="color: black;">&#40;</span>img, layer<span style="color: black;">&#41;</span>:
&nbsp;
    w = layer.<span style="color: black;">width</span>
    h = layer.<span style="color: black;">height</span>
    pr = layer.<span style="color: black;">get_pixel_rgn</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>, <span style="color: #ff4500;">0</span>, w, h<span style="color: black;">&#41;</span>
&nbsp;
    yellow_rgb = <span style="color: black;">&#40;</span><span style="color: #ff4500;">255</span>,<span style="color: #ff4500;">255</span>,<span style="color: #ff4500;">0</span><span style="color: black;">&#41;</span>
    yellow_str = <span style="color: #008000;">chr</span><span style="color: black;">&#40;</span>yellow_rgb<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span> + <span style="color: #008000;">chr</span><span style="color: black;">&#40;</span>yellow_rgb<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span> + <span style="color: #008000;">chr</span><span style="color: black;">&#40;</span>yellow_rgb<span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">xrange</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">5</span><span style="color: black;">&#41;</span>:
        pr<span style="color: black;">&#91;</span>i,i<span style="color: black;">&#93;</span> = yellow_str
        pr<span style="color: black;">&#91;</span><span style="color: #ff4500;">4</span>-i,i<span style="color: black;">&#93;</span> = yellow_str
&nbsp;
    layer.<span style="color: black;">update</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>, <span style="color: #ff4500;">0</span>, w, h<span style="color: black;">&#41;</span>
    layer.<span style="color: black;">flush</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
    gimp.<span style="color: black;">displays_flush</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p align="center"><img src="http://www.juanjoconti.com.ar/wp-content/uploads/2007/12/5-big-yellow.jpg" alt="5×5 image with yellow pixels" /></p>
<p align="center"><em>Imagen procesada con el código del ejemplo 2</em></p>
<p align="left">Código fuente: <a title="write" href="http://www.juanjoconti.com.ar/files/python/fu/pixels/pixels-write.py.html" target="_blank">pixels-write.py</a></p>
<h2>Links</h2>
<ul>
<li><a title="Mis artículos sobre plug-ins para GIMP en Python" href="http://www.juanjoconti.com.ar/categoria/aprendiendo-python/python-fu/" target="_blank">Más artículos</a> relacionados con Python-Fu.</li>
<li>Experimentos con PixelRegion.</li>
<li><a title="API" href="http://developer.gimp.org/api/2.0/app/app-pixel-region.html" target="_blank">API en C</a> de PixelRegion.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.juanjoconti.com.ar/2007/12/29/manipulacion-de-pixels-con-python-fu/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Creando plug-ins para GIMP con Python (charla)</title>
		<link>http://www.juanjoconti.com.ar/2006/08/22/creando-plug-ins-para-gimp-con-python-charla/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=creando-plug-ins-para-gimp-con-python-charla</link>
		<comments>http://www.juanjoconti.com.ar/2006/08/22/creando-plug-ins-para-gimp-con-python-charla/#comments</comments>
		<pubDate>Wed, 23 Aug 2006 02:24:16 +0000</pubDate>
		<dc:creator>Juanjo</dc:creator>
				<category><![CDATA[Aprendiendo Python]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Python Fu]]></category>
		<category><![CDATA[GIMP]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://firebirds.com.ar/~juanjo/wordpress/2006/08/22/creando-plug-ins-para-gimp-con-python-charla/</guid>
		<description><![CDATA[Este es el material de la charla que dí el sábado pasado (19 de agosto) en el 1º Python Day del Grulic: Presentación (navegable y link al formato original) Código fuente colorFrame.py sky.py También tengo un texto que escribí para &#8230; <a href="http://www.juanjoconti.com.ar/2006/08/22/creando-plug-ins-para-gimp-con-python-charla/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Este es el material de la charla que dí el sábado pasado (19 de agosto) en el <a href="http://www.grulic.org.ar/eventos/pythonday1/">1º Python Day del Grulic</a>:</p>
<ul>
<li><a href="http://www.juanjoconti.com.ar/files/python/fu/charla-cordoba/index.html">Presentación (navegable y link al formato original)</a></li>
<li>Código fuente</li>
<ul>
<li><a href="http://www.juanjoconti.com.ar/files/python/fu/colorFrame.py.html">colorFrame.py</a></li>
<li><a href="http://www.juanjoconti.com.ar/files/python/fu/sky.py.html">sky.py</a></li>
</ul>
</ul>
<p>También tengo un texto que escribí para ordenar mis ideas, pero está muy desprolijo como para publicarlo. SI alguien lo quiere (es buena ayuda para seguir la presentación) pídamelo por mail y se lo mando.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juanjoconti.com.ar/2006/08/22/creando-plug-ins-para-gimp-con-python-charla/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>kit de plug-ins para generar diagramas de constelaciones con GIMP</title>
		<link>http://www.juanjoconti.com.ar/2006/04/03/kit-de-plug-ins-para-generar-diagramas-de-constelaciones-con-gimp/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=kit-de-plug-ins-para-generar-diagramas-de-constelaciones-con-gimp</link>
		<comments>http://www.juanjoconti.com.ar/2006/04/03/kit-de-plug-ins-para-generar-diagramas-de-constelaciones-con-gimp/#comments</comments>
		<pubDate>Mon, 03 Apr 2006 17:04:25 +0000</pubDate>
		<dc:creator>Juanjo</dc:creator>
				<category><![CDATA[Aprendiendo Python]]></category>
		<category><![CDATA[Comunicaciones]]></category>
		<category><![CDATA[Facultad]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Python Fu]]></category>
		<category><![CDATA[comunicaciones]]></category>
		<category><![CDATA[GIMP]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://firebirds.com.ar/~juanjo/wordpress/?p=52</guid>
		<description><![CDATA[Más información sobre este proyecto en la sección Constelaciones.]]></description>
			<content:encoded><![CDATA[<p>Más información sobre este proyecto en la <a href="http://firebirds.com.ar/~juanjo/wordpress/proyectos/kit-de-plug-ins-para-gimp-generador-de-diagramas-de-constelaciones-psk-y-qam/">sección Constelaciones</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juanjoconti.com.ar/2006/04/03/kit-de-plug-ins-para-generar-diagramas-de-constelaciones-con-gimp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plug-in para gimp que genera constelaciones PSK</title>
		<link>http://www.juanjoconti.com.ar/2006/03/17/plug-in-para-gimp-que-genera-constelaciones-psk/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=plug-in-para-gimp-que-genera-constelaciones-psk</link>
		<comments>http://www.juanjoconti.com.ar/2006/03/17/plug-in-para-gimp-que-genera-constelaciones-psk/#comments</comments>
		<pubDate>Fri, 17 Mar 2006 08:02:30 +0000</pubDate>
		<dc:creator>Juanjo</dc:creator>
				<category><![CDATA[Aprendiendo Python]]></category>
		<category><![CDATA[Facultad]]></category>
		<category><![CDATA[Python Fu]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[GIMP]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://firebirds.com.ar/~juanjo/wordpress/?p=47</guid>
		<description><![CDATA[Este es mi primer plug-in para gimp. Es un plug-in para gimp escrito en Python de 150 líneas: Si en la opción numérica de la ventana anterior se elije 3 se obtiene esta imange: Y si se elije 4 esta: &#8230; <a href="http://www.juanjoconti.com.ar/2006/03/17/plug-in-para-gimp-que-genera-constelaciones-psk/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Este es mi primer plug-in para gimp. Es un plug-in para <a title="GIMP web site" target="_blank" href="http://www.gimp.org">gimp</a> escrito en <a title="Python web site" target="_blank" href="http://www.python.org">Python</a> de 150 líneas:</p>
<p><span id="more-47"></span></p>
<p align="center"><img alt="PSK Plug-in" id="image41" src="http://firebirds.com.ar/%7Ejuanjo/wordpress/wp-content/uploads/2006/03/psk-menu.jpg" /></p>
<p align="left">Si en la opción numérica de la ventana anterior se elije 3 se obtiene esta imange:</p>
<p align="center"><img alt="8-PSK" id="image42" src="http://firebirds.com.ar/%7Ejuanjo/wordpress/wp-content/uploads/2006/03/8-psk.jpg" /></p>
<p align="left">Y si se elije 4 esta:</p>
<p align="center"><img alt="16-PSK" id="image43" src="http://firebirds.com.ar/%7Ejuanjo/wordpress/wp-content/uploads/2006/03/16-psk.jpg" /></p>
<p align="center">
<p>El código fuente puede obtenerse <a href="../../../../files/python/generator-psk.py.html">aquí</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juanjoconti.com.ar/2006/03/17/plug-in-para-gimp-que-genera-constelaciones-psk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El arte de Python-Fu (cinturón blanco)</title>
		<link>http://www.juanjoconti.com.ar/2006/03/16/el-arte-de-python-fu-cinturon-blanco/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=el-arte-de-python-fu-cinturon-blanco</link>
		<comments>http://www.juanjoconti.com.ar/2006/03/16/el-arte-de-python-fu-cinturon-blanco/#comments</comments>
		<pubDate>Thu, 16 Mar 2006 18:36:03 +0000</pubDate>
		<dc:creator>Juanjo</dc:creator>
				<category><![CDATA[Aprendiendo Python]]></category>
		<category><![CDATA[Python Fu]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[GIMP]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://firebirds.com.ar/~juanjo/wordpress/?p=45</guid>
		<description><![CDATA[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 &#8230; <a href="http://www.juanjoconti.com.ar/2006/03/16/el-arte-de-python-fu-cinturon-blanco/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Como parte de mi aprendizaje del lenguaje de programación <a title="Aprendiendo Python" href="http://firebirds.com.ar/~juanjo/wordpress/?cat=7">Python</a> y por la necesidad de generar automáticamente algunos dibujos, incurcioné en el milenario arte del Python-Fu.</p>
<p>Si querés conocer más sobre este acestral arte, seguí leyendo..</p>
<p><span id="more-45"></span> Script-Fu (un dialecto de Scheme) es el lenguaje original (además de C) utilizado para escribir plug-ins para <a target="_blank" title="Gimp web site" href="http://www.gimp.org">Gimp</a> (The GNU Image Manipulation Program). Actualmente se pueden escribir plug-ins en otros lenguajes como Perl, Tcl y.. Python</p>
<p><strong>¿qué hay que tener instalado?</strong></p>
<ul>
<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>
</ul>
<p>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.</p>
<p><strong>Script-Fu</strong></p>
<p>En <a title="Estructura de un python-fu (en)" target="_blank" href="http://www.jamesh.id.au/software/pygimp/structure-of-plugin.html">http://www.jamesh.id.au/software/pygimp/structure-of-plugin.html</a> se puede ver la estructura de un Script-Fu.</p>
<p>Cuando gimp es ejecutado, busca los archivos ejecutables que se encuentran en <code>$HOME/.gimp-x-y/plug-ins/</code>. 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 (<code>chmod +x hello-world.py</code>).</p>
<p>Otro tip: si algo no funciona como se espera, una forma de enterarse que pasó es ejecutar gimp desde una terminal (<code>gimp --verbose</code>) 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).</p>
<p><strong>Links útiles</strong></p>
<ul>
<li><a href="http://www.jamesh.id.au/software/pygimp/">http://www.jamesh.id.au/software/pygimp/</a>: documentación sobre gimp-python.</li>
<li><a href="http://carol.gimp.org">Carol at Gimp.org</a>: muchos scripts que pueden servir de ejemplo, a mi me sirvió leer algunos antes de lanzarme a escribir el mío.</li>
</ul>
<p><em><strong>[update: a pedido del público: hello-world.py]</strong></em></p>
<p>Pueden bajar <a title="Hello-World.py" href="../../../../files/python/hello-world.py.html">hello-world.py</a> para ver un ejemplo sencillo. Debería generar una imagen como esta:<img align="top" alt="Hello World" id="image46" title="Hello World" src="http://firebirds.com.ar/%7Ejuanjo/wordpress/wp-content/uploads/2006/03/hello.jpg" />salvo que cambien los parámetros <img src='http://www.juanjoconti.com.ar/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.juanjoconti.com.ar/2006/03/16/el-arte-de-python-fu-cinturon-blanco/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

