<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Programando Python y Zope desde la consola con emacs</title>
	<atom:link href="http://www.nandoquintana.com/blog/programando-python-y-zope-desde-la-consola-con-emacs/feed" rel="self" type="application/rss+xml" />
	<link>http://www.nandoquintana.com/blog/programando-python-y-zope-desde-la-consola-con-emacs</link>
	<description>Ingeniería web y existencialismo doméstico</description>
	<lastBuildDate>Mon, 17 May 2010 01:22:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: nando</title>
		<link>http://www.nandoquintana.com/blog/programando-python-y-zope-desde-la-consola-con-emacs/comment-page-1#comment-20</link>
		<dc:creator>nando</dc:creator>
		<pubDate>Wed, 31 Jan 2007 08:21:26 +0000</pubDate>
		<guid isPermaLink="false">#comment-20</guid>
		<description>&lt;p&gt;Me envía &lt;a href=&quot;http://www.eibar.org/blogak/erral&quot;&gt;erral&lt;/a&gt; un trozo de código para tracear un producto de zope:&lt;/p&gt;&lt;p&gt;&lt;pre&gt;   import pdb   pdb.set_trace()&lt;/pre&gt;&lt;/p&gt;&lt;p&gt;¿Cómo debugueo mi zope?&lt;/p&gt;&lt;p&gt;- Pegas estas dos lineas en cualquier función del producto&lt;/p&gt;&lt;p&gt;- Arrancas tu instancia Zope (con &#039;./runzope&#039; o &#039;./zopectl fg&#039;)&lt;/p&gt;&lt;p&gt;- Cuando se ejecutan estas dos lineas de python, se nos presentará una consola con el siguiente prompt:&lt;/p&gt;&lt;p&gt;&lt;pre&gt;  (Pdb) &lt;/pre&gt;&lt;/p&gt;&lt;p&gt;- En ella tendremos todos los objetos que intervienen en la ejecuación a nuestra dispocición. (locals(), globals(), etc.)&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.onlamp.com/pub/a/python/2005/09/01/debugger.html&quot;&gt;Python Interactive Debugging&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>Me envía <a href="http://www.eibar.org/blogak/erral">erral</a> un trozo de código para tracear un producto de zope:</p>
<p>
<pre>   import pdb   pdb.set_trace()</pre>
</p>
<p>¿Cómo debugueo mi zope?</p>
<p>- Pegas estas dos lineas en cualquier función del producto</p>
<p>- Arrancas tu instancia Zope (con &#8216;./runzope&#8217; o &#8216;./zopectl fg&#8217;)</p>
<p>- Cuando se ejecutan estas dos lineas de python, se nos presentará una consola con el siguiente prompt:</p>
<p>
<pre>  (Pdb) </pre>
</p>
<p>- En ella tendremos todos los objetos que intervienen en la ejecuación a nuestra dispocición. (locals(), globals(), etc.)</p>
<p><a href="http://www.onlamp.com/pub/a/python/2005/09/01/debugger.html">Python Interactive Debugging</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: nando</title>
		<link>http://www.nandoquintana.com/blog/programando-python-y-zope-desde-la-consola-con-emacs/comment-page-1#comment-19</link>
		<dc:creator>nando</dc:creator>
		<pubDate>Wed, 06 Dec 2006 07:46:35 +0000</pubDate>
		<guid isPermaLink="false">#comment-19</guid>
		<description>&lt;p&gt;&lt;a href=&quot;http://www.daniel-lemire.com/blog/archives/2006/06/01/autocompletion-in-the-python-console/&quot;&gt;Daniel Lemire&lt;/a&gt; nos cuenta como introducir de forma sencilla el autocompletado en la consola de Python:&lt;/p&gt;&lt;p&gt;&lt;pre&gt;&gt;&gt;&gt; import readline, rlcompleter&gt;&gt;&gt;&gt;&gt;&gt; readline.parse_and_bind(&quot;tab: complete&quot;)&gt;&gt;&gt;&lt;/pre&gt;&lt;/p&gt;&lt;p&gt;Recupero una vieja receta que &lt;a href=&quot;http://www.rexx.com/~dkuhlman/&quot;&gt;Dave Kulman&lt;/a&gt; envió a la &lt;a href=&quot;http://mail.python.org/pipermail/python-list/2002-May/142933.html&quot;&gt;lista de Python&lt;/a&gt;. Con el siguiente fichero de inicialización vamos a activar el autocompletado cada vez que arranquemos el interprete.&lt;/p&gt;&lt;p&gt;Creamos un fichero en nuestro directorio &#039;home&#039; llamado &lt;a href=&quot;/ftp/pub/initialize.py&quot;&gt;initialize.py&lt;/a&gt; con el siguiente código:&lt;/p&gt;&lt;p&gt;&lt;pre&gt;#========================================================# initialize.py# Dave&#039;s initialization file for Python interactive sessions.import sys, os, readlinehistfile = os.path.join(os.environ[&quot;HOME&quot;], &quot;.pyhist&quot;)try:    readline.read_history_file(histfile)except IOError:    passimport atexitatexit.register(readline.write_history_file, histfile)del os, histfiletry:    import readlineexcept ImportError:    print &quot;Module readline not available.&quot;else:    import rlcompleter    readline.parse_and_bind(&quot;tab: complete&quot;)#========================================================&lt;/pre&gt;&lt;/p&gt;&lt;p&gt;Para que el intérprete lea este fichero debemos crear la variable de entorno PYTHONSTARTUP. Lo podemos hacer de forma automática insertando la siguiente linea el &#039;.bashrc&#039; de nuestro directorio &#039;home&#039;:&lt;/p&gt;&lt;p&gt;&lt;pre&gt;export PYTHONSTARTUP=$HOME/initialize.py&lt;/pre&gt;&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p><a href="http://www.daniel-lemire.com/blog/archives/2006/06/01/autocompletion-in-the-python-console/">Daniel Lemire</a> nos cuenta como introducir de forma sencilla el autocompletado en la consola de Python:</p>
<p>
<pre>>>> import readline, rlcompleter>>>>>> readline.parse_and_bind("tab: complete")>>></pre>
</p>
<p>Recupero una vieja receta que <a href="http://www.rexx.com/~dkuhlman/">Dave Kulman</a> envió a la <a href="http://mail.python.org/pipermail/python-list/2002-May/142933.html">lista de Python</a>. Con el siguiente fichero de inicialización vamos a activar el autocompletado cada vez que arranquemos el interprete.</p>
<p>Creamos un fichero en nuestro directorio &#8216;home&#8217; llamado <a href="/ftp/pub/initialize.py">initialize.py</a> con el siguiente código:</p>
<p>
<pre>#========================================================# initialize.py# Dave's initialization file for Python interactive sessions.import sys, os, readlinehistfile = os.path.join(os.environ["HOME"], ".pyhist")try:    readline.read_history_file(histfile)except IOError:    passimport atexitatexit.register(readline.write_history_file, histfile)del os, histfiletry:    import readlineexcept ImportError:    print "Module readline not available."else:    import rlcompleter    readline.parse_and_bind("tab: complete")#========================================================</pre>
</p>
<p>Para que el intérprete lea este fichero debemos crear la variable de entorno PYTHONSTARTUP. Lo podemos hacer de forma automática insertando la siguiente linea el &#8216;.bashrc&#8217; de nuestro directorio &#8216;home&#8217;:</p>
<p>
<pre>export PYTHONSTARTUP=$HOME/initialize.py</pre></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: nando</title>
		<link>http://www.nandoquintana.com/blog/programando-python-y-zope-desde-la-consola-con-emacs/comment-page-1#comment-18</link>
		<dc:creator>nando</dc:creator>
		<pubDate>Sun, 12 Nov 2006 20:38:53 +0000</pubDate>
		<guid isPermaLink="false">#comment-18</guid>
		<description>Aupa Erral!¡interesante el nXML-mode! más completo que el modo html. Permite validar tu documento y tal...Me lo apunto!</description>
		<content:encoded><![CDATA[<p>Aupa Erral!¡interesante el nXML-mode! más completo que el modo html. Permite validar tu documento y tal&#8230;Me lo apunto!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: erral</title>
		<link>http://www.nandoquintana.com/blog/programando-python-y-zope-desde-la-consola-con-emacs/comment-page-1#comment-17</link>
		<dc:creator>erral</dc:creator>
		<pubDate>Sat, 11 Nov 2006 20:26:57 +0000</pubDate>
		<guid isPermaLink="false">#comment-17</guid>
		<description>Para ZPT y ZCML (y también si quieres escribir HTML directo), yo utilizo nxml-mode</description>
		<content:encoded><![CDATA[<p>Para ZPT y ZCML (y también si quieres escribir HTML directo), yo utilizo nxml-mode</p>
]]></content:encoded>
	</item>
</channel>
</rss>
