<?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>Python Blog - All about python &#187; tutorial</title>
	<atom:link href="http://www.python-blog.com/tag/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.python-blog.com</link>
	<description>and technologies around</description>
	<lastBuildDate>Tue, 27 Jul 2010 19:58:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Documenting project using Sphinx</title>
		<link>http://www.python-blog.com/2010/02/21/documenting-project-using-sphinx/</link>
		<comments>http://www.python-blog.com/2010/02/21/documenting-project-using-sphinx/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 17:10:15 +0000</pubDate>
		<dc:creator>Łukasz Balcerzak</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[documentation sphinx]]></category>
		<category><![CDATA[sphinx]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.python-blog.com/?p=257</guid>
		<description><![CDATA[We have no time for creating documentation for our project&#8230; wrong! Documentation and tests are crucial in all software projects. Sure, it is more important that our software would work fine but package of unit tests almost always save time (in future as less bugs are produced) and without documentation shouldn&#8217;t be treated as &#8220;user [...]]]></description>
			<content:encoded><![CDATA[<p>We have no time for creating documentation for our project&#8230; wrong! Documentation and tests are crucial in all software projects. Sure, it is more important that our software would work fine but package of unit tests almost always save time (in future as less bugs are produced) and without documentation shouldn&#8217;t be treated as &#8220;user guide&#8221;.</p>
<p>It doesn&#8217;t matter if you are creating project for your company or you plan to release it as an open source &#8211; by providing documentation you make life easier for other contributors and end-users, of course. And if you know how to write <a href="http://docutils.sourceforge.net/rst.html">restructuredText</a> documents then you already own necessary skills to create documentation lighting fast!</p>
<h2>Prepare!</h2>
<p>First of all, you would need to have <a href="http://docutils.sourceforge.net/rst.html">Distutils</a> and <a href="http://sphinx.pocoo.org/">Sphinx</a> installed. You can install it using one of the Python package management tools, in example <i>easy_install</i> would do the job. I prefer to use <a href="http://pypi.python.org/pypi/pip">pip</a>:</p>
<pre class="brush:bash">
pip install distutils
pip install sphinx
</pre>
<p>Simply use any project you&#8217;d like to create documentation for, I would use <a href="http://bitbucket.org/lukaszb/django-richtemplates/">django-richtemplates</a>. Create a new directory for your documentation and run <i>sphinx-quickstart</i> command:</p>
<pre class="brush:bash">
hg clone https://bitbucket.org/lukaszb/django-richtemplates/ django-richtemplates-temp
cd django-richtemplates-temp
sphinx-quickstart
</pre>
<p>Just answer some questions &#8211; they are very straightforward. You should probably turn <i>autodoc</i> option on.<br />
Sphinx would create some directories for internal usage and static content storage (<i>_build</i>, <i>_static</i> and <i>_templates</i>), configuration file (<i>conf.py</i>) and index file (<i>index.html</i>). Ok, enough of this crap, lets create our first documentation page! </p>
<h2>First page</h2>
<p>Create new file, lets call it <i>installation.rst</i> and write the document itself:</p>
<pre class="brush:plain">
.. _installation:

============
Installation
============

Fake installation for `django-richtemplates`_ project.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur.

.. note::
   Yeah, this would be a note.
   Very simple, indeed.

Some more crap
--------------

If you would like to highlight a code snippet, it is as easy as::

   from mycompany.auth import AuthenticationBackend

   class MyClass(object):
       """
       Docstring.
       """
       def __init__(self, *args, **kwargs):
           """
           Some *business* logic.
           """
           pass
       def authenticate(self, username, password):
           """
           External authentication process.
           """
           auth = AuthenticationBackend(username, password)
           return auth.is_authenticated()

Or choose language explicit:

.. code-block:: bash

   cd django-richtemplates
   sudo python setup.py install

Yeah, `restructuredText <http://docutils.sourceforge.net/rst.html>`_ is great!
And easy, too.

External-internal hyperlinks
----------------------------

You may also use ``sphinx`` features, like linking to other *documents*, like
this: go to :ref:`configuration`.

.. _django-richtemplates: http://bitbucket.org/lukaszb/django-richtemplates/
</pre>
<p>This is standard restructured text document. The only sphinx specific parts are first line (need to add relation with file itself &#8211; this is needed for table of contents generation) and reference to other file (which is done with <i>ref:`configuration`</i>). Yup, we haven&#8217;t created <i>configuration.rst</i> file, yet. So do this now, and paste following:</p>
<pre class="brush:plain">
.. _configuration:

=========================
Configuring richtemplates
=========================

I hope you have already read chapter :ref:`installation`.

Lorem ipsum!
------------

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur.
</pre>
<h2>Don&#8217;t forget about the main page!</h2>
<p>I once hoped that the first page (namely <i>index.rst</i>) is generated automatically, yet, I was wrong. But in order<br />
to supply needed data for sphinx generator you have to make very simple changes to the <i>index.rst</i>. Just add<br />
<i>:glob:</i> option to the <i>toctree</i> directive. Finally, mark that all (<i>*</i>) restructuredText documents should<br />
be used.</p>
<pre class="brush:plain">
.. django-richtemplates documentation master file, created by
   sphinx-quickstart on Sat Feb 20 21:42:53 2010.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

Welcome to django-richtemplates's documentation!
================================================

Contents:

.. toctree::
   :maxdepth: 2
   :glob:

   *

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
</pre>
<p>Now in <i>mydocs</i> directory run</p>
<pre class="brush:bash">
make html
</pre>
<p>and open file located at <i>mydocs/_build/html/index.html</i>. You should see your documentation!</p>
<h2>Final words</h2>
<p>Ok, this was very simple and the effect is &#8211; for such a little work done &#8211; quite amazing if you&#8217;d ask me.<br />
However, we still haven&#8217;t used <i>autodoc</i> Sphinx&#8217;s extension. Let&#8217;s do that now &#8211; create new file<br />
<i>api.rst</i> and paste whats below:</p>
<pre class="brush:plain">
.. _api:

===
API
===

You can find some basic API information here.

Forms API
---------

In this section we cover some basics about the `django-richtemplates`'s forms
API.

.. automodule:: richtemplates.forms
   :members:

.. _django-richtemplates: http://bitbucket.org/lukaszb/django-richtemplates/
</pre>
<p>Again, run make command and see your documentation. Ok, so where is your API, you ask? Well, if you look at the output<br />
of <i>make html</i> command you&#8217;d see that there was a warning &#8211; <i>richtemplates.forms</i> couldn&#8217;t be found.<br />
Which is completely correct, as Sphinx doesn&#8217;t try to guess where your modules are, you have to configure it by yourself.<br />
Change <i>sys.path</i> by uncommenting existing line and change it to this:</p>
<pre class="brush:python">
sys.path.append(os.path.abspath('..'))
</pre>
<p>If you are not sure why why put <i>..</i> there, it&#8217;s simple &#8211; Sphinx would go a one directory up (<i>..</i>) and try to find <i>richtemplates</i> there. Try to build your documentation now. Warning again? Yeah, Sphinx now complains about not<br />
having <i>DJANGO_SETTINGS_MODULE</i> which is, again, totally correct. As importing <i>richtemplates</i> won&#8217;t<br />
raise exception, but trying to get deeper into the module (<i>richtemplates.forms</i>) would be impossible without<br />
being within Django context (same would happen if you try to run python interpreter and run <i>from django import forms</i>).<br />
So add this line into your <i>conf.py</i> file:</p>
<pre class="brush:python">
os.environ['DJANGO_SETTINGS_MODULE'] = 'django.conf.global_settings'
</pre>
<p>More information about <i>autodoc</i> extension could be found <a href="http://sphinx.pocoo.org/ext/autodoc.html">here</a>.</p>
<p>Hope this would help anyone trying to start with his/her own documentation :)<br />
If you have any suggestions &#8211; let me know.</p>
<p>Take care and make documentation, not war.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.python-blog.com/2010/02/21/documenting-project-using-sphinx/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mercurial on nginx with authentication and SSL</title>
		<link>http://www.python-blog.com/2009/11/15/mercurial-on-nginx-with-authentication-and-ssl/</link>
		<comments>http://www.python-blog.com/2009/11/15/mercurial-on-nginx-with-authentication-and-ssl/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 19:59:08 +0000</pubDate>
		<dc:creator>Marcin Kuźmiński</dc:creator>
				<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[certificate generation]]></category>
		<category><![CDATA[crypt]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[generator]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[mercurial ssl]]></category>
		<category><![CDATA[orm]]></category>
		<category><![CDATA[passwd]]></category>
		<category><![CDATA[push pull]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[python blog]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.python-blog.com/?p=205</guid>
		<description><![CDATA[Today is a great day ;) i switched my repos from svn to mercurial.
I was still thinking about GIT but there where three key points that made me choose mercurial

 hg serve ( out of the box http server)
 it&#8217;s written in python
 has a very good eclipse plug-in (http://www.vectrace.com/mercurialeclipse/)

Cons: it&#8217;s slower than GIT ( [...]]]></description>
			<content:encoded><![CDATA[<p>Today is a great day ;) i switched my repos from svn to mercurial.<br />
I was still thinking about GIT but there where three key points that made me choose mercurial</p>
<ul>
<li> hg serve ( out of the box http server)</li>
<li> it&#8217;s written in python</li>
<li> has a very good eclipse plug-in (<a href="http://www.vectrace.com/mercurialeclipse/">http://www.vectrace.com/mercurialeclipse/</a>)</li>
</ul>
<p>Cons: it&#8217;s slower than GIT ( but who cares :D )</p>
<p>So after installing mercurial and moving my svn repos with history with <a title="HGSVN home page" href="http://pypi.python.org/pypi/hgsvn" target="_blank">hgsvn</a> ( which can also do push to svn )<br />
I started to setup easy access to the repository using nginx. I&#8217;ll show you how to setup an SSL http based repository to do PUSH/PULL/CLONE what ever.</p>
<p>Firstly we have to make self signed ssl certificates.<br />
I found on of the easiest tutorials available you can find it here: <a href="http://www.akadia.com/services/ssh_test_certificate.html" target="_blank">http://www.akadia.com/services/ssh_test_certificate.html</a></p>
<p>OK when we have the ssl certificates for our server. Put it somewhere on the server so nginx can access it.<br />
We have to setup a new virtual host for nginx that will only do ssl connections<br />
and have basic auth additionally.</p>
<p>Here&#8217;s the example config:</p>
<pre class="brush:plain">server {
    listen          443;
    server_name     hg.yourserver.com;
    ssl    on;
    ssl_certificate    /home/ssl_certs/hg_cert.crt;
    ssl_certificate_key     /home/ssl_certs/hg_cert.key;
    access_log      /var/log/nginx/hg.log;
    auth_basic      "mercurial server";
    auth_basic_user_file    /etc/nginx/.htpasswd;

    location / {
        proxy_pass      http://127.0.0.1:8001;
        #here's where the hg server runs
        include         /etc/nginx/proxy.conf;
    }
}</pre>
<p>Few thing to notice.<br />
.htpasswd file has to be in a format &lt;username&gt;:&lt;cryptPassword&gt; if you don&#8217;t have apache<br />
installed you can use <a href="http://www.python-blog.com/2009/06/23/python-random-password-generator/" target="_blank">my password generator</a> for generating crypt password. This username<br />
and password will be used to do pull/push from console and eclipse.<br />
Another important thing is that when you run hg serve you must specify the -a 127.0.0.1 option which is<br />
for the address the mercurial server runs. Hg serve default is to start at all interfaces<br />
so you have this port open outside and your ssl/passwd protection is for nothing&#8230;</p>
<p>I run my using hg serve &#8211;webdir-conf=/etc/hg/hgweb.conf -d -p 8001 -a 127.0.0.1</p>
<p>The hgweb.conf should be with</p>
<pre class="brush:plain">push_ssl = false
#since nginx is doing the SSL
allow_push = * #NGINX  is doing the auth
style = gitweb</pre>
<p>O and one more thing remember that your repo should be accessible to hg serv.<br />
I made a mistake and run hg serve as www-data and my repo was to my home user,<br />
and i had internal server error when trying to do push to server.</p>
<p>So now you can have your repo via http with SSL and nginx authentication.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.python-blog.com/2009/11/15/mercurial-on-nginx-with-authentication-and-ssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python threads tutorial</title>
		<link>http://www.python-blog.com/2009/07/07/python-threads-tutorial/</link>
		<comments>http://www.python-blog.com/2009/07/07/python-threads-tutorial/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 08:29:59 +0000</pubDate>
		<dc:creator>Marcin Kuźmiński</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Threads]]></category>
		<category><![CDATA[GIL]]></category>
		<category><![CDATA[learning python]]></category>
		<category><![CDATA[orm]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[python blog]]></category>
		<category><![CDATA[thread queue]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.python-blog.com/?p=113</guid>
		<description><![CDATA[If you&#8217;re looking how to start with threads in python i found a great pdf to start with.
Download the Python-Threads pdf. Whitch includes the basic, and some more advanced information and tutorials about the threads in python.
In the pdf you can useful find info about:

thread and threading modules
queue
locks
gil
events
debugging threads

]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re looking how to start with threads in python i found a great pdf to start with.</p>
<p>Download the <strong><a href="http://www.python-blog.com/wp-content/uploads/2009/07/Python-Threads.pdf">Python-Threads</a></strong> pdf. Whitch includes the basic, and some more advanced information and tutorials about the threads in python.</p>
<p>In the pdf you can useful find info about:</p>
<ul>
<li>thread and threading modules</li>
<li>queue</li>
<li>locks</li>
<li>gil</li>
<li>events</li>
<li>debugging threads</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.python-blog.com/2009/07/07/python-threads-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python beginners tutorial</title>
		<link>http://www.python-blog.com/2009/07/07/python-beginners-tutorial/</link>
		<comments>http://www.python-blog.com/2009/07/07/python-beginners-tutorial/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 22:41:51 +0000</pubDate>
		<dc:creator>Marcin Kuźmiński</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[definitions]]></category>
		<category><![CDATA[examples]]></category>
		<category><![CDATA[good tutorial]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[learning python]]></category>
		<category><![CDATA[orm]]></category>
		<category><![CDATA[pprint]]></category>
		<category><![CDATA[python blog]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.python-blog.com/?p=108</guid>
		<description><![CDATA[I found a really great beginners tutorial for Python i need to share with others. It&#8217;s python by examples.
Found at http://www.lightbird.net/py-by-example/
I read many tutorials and sites dedicated to python, but this one is absolutely a must if you&#8217;re a python beginner. It&#8217;s loaded with simple examples, and descriptions. It briefly shows you the basics of [...]]]></description>
			<content:encoded><![CDATA[<p>I found a really great beginners tutorial for Python i need to share with others. It&#8217;s python by examples.</p>
<p>Found at <strong><a href="http://www.lightbird.net/py-by-example/">http://www.lightbird.net/py-by-example/</a></strong></p>
<p>I read many tutorials and sites dedicated to python, but this one is absolutely a must if you&#8217;re a python beginner. It&#8217;s loaded with simple examples, and descriptions. It briefly shows you the basics of python , each function is nicely explained with few examples. If you&#8217;re interested in learning Python this is the place to start. I personally found few things i did not use and know in python like shelve or inspect.</p>
<p>Here is the huge list of what&#8217;s on the page:</p>
<ul>
<li><a href="http://www.lightbird.net/py-by-example/string-services.html">String Services</a>
<ul>
<li><a href="http://www.lightbird.net/py-by-example/string-module.html">String Module &#8211; Common string operations</a></li>
<li><a href="http://www.lightbird.net/py-by-example/re-module.html">Re Module &#8211; Regular expression operations</a></li>
<li><a href="http://www.lightbird.net/py-by-example/struct-module.html">Struct Module &#8211; Interpret strings as packed binary data</a></li>
<li><a href="http://www.lightbird.net/py-by-example/textwrap-module.html">Textwrap Module &#8211; Text wrapping and filling</a></li>
</ul>
</li>
<li><a href="http://www.lightbird.net/py-by-example/data-types.html">Data Types</a>
<ul>
<li><a href="http://www.lightbird.net/py-by-example/datetime.date-module.html">Datetime.date Module &#8211; Basic date and time types</a></li>
<li><a href="http://www.lightbird.net/py-by-example/calendar-module.html">Calendar Module &#8211; General calendar-related functions</a></li>
<li><a href="http://www.lightbird.net/py-by-example/array-module.html">Array Module &#8211; Efficient arrays of numeric values</a></li>
<li><a href="http://www.lightbird.net/py-by-example/sets-module.html">Sets Module &#8211; Unordered collections of unique elements</a></li>
<li><a href="http://www.lightbird.net/py-by-example/pprint-module.html">Pprint Module &#8211; Data pretty printer</a></li>
</ul>
</li>
<li><a href="http://www.lightbird.net/py-by-example/numeric.html">Numerical and Math Modules</a>
<ul>
<li><a href="http://www.lightbird.net/py-by-example/math-module.html">Math Module &#8211; Mathematical functions</a></li>
<li><a href="http://www.lightbird.net/py-by-example/decimal-module.html">Decimal Module &#8211; Decimal fixed point and floating point arithmetic</a></li>
<li><a href="http://www.lightbird.net/py-by-example/random-module.html">Random Module &#8211; Generate pseudo-random numbers</a></li>
</ul>
</li>
<li><a href="http://www.lightbird.net/py-by-example/file-directory.html">File and Directory Access</a>
<ul>
<li><a href="http://www.lightbird.net/py-by-example/os.path-module.html">Os.path Module &#8211; Common pathname manipulations</a></li>
<li><a href="http://www.lightbird.net/py-by-example/tempfile-module.html">Tempfile Module &#8211; Generate temporary files and directories</a></li>
<li><a href="http://www.lightbird.net/py-by-example/shutil-module.html">Shutil Module &#8211; High-level file operations</a></li>
<li><a href="http://www.lightbird.net/py-by-example/glob-module.html">Glob Module &#8211; Unix style pathname pattern expansion</a></li>
</ul>
</li>
<li><a href="http://www.lightbird.net/py-by-example/data-persistance.html">Data Persistance</a>
<ul>
<li><a href="http://www.lightbird.net/py-by-example/pickle.html">Pickle &#8211; Python object serialization</a></li>
<li><a href="http://www.lightbird.net/py-by-example/shelve.html">shelve &#8211; Python object persistence</a></li>
<li><a href="http://www.lightbird.net/py-by-example/sqlite3.html">sqlite3 &#8211; interface for SQLite databases</a></li>
</ul>
</li>
<li><a href="http://www.lightbird.net/py-by-example/data-compression.html">Data Compression and Archiving</a>
<ul>
<li><a href="http://www.lightbird.net/py-by-example/gzip.html">gzip &#8211; Support for gzip files</a></li>
</ul>
</li>
<li><a href="http://www.lightbird.net/py-by-example/file-formats.html">File Formats</a>
<ul>
<li><a href="http://www.lightbird.net/py-by-example/csv.html">csv &#8211; CSV File Reading and Writing</a></li>
<li><a href="http://www.lightbird.net/py-by-example/config-parser.html">ConfigParser &#8211; Configuration file parser</a></li>
</ul>
</li>
<li><a href="http://www.lightbird.net/py-by-example/operating-system.html">Operating System Services</a>
<ul>
<li><a href="http://www.lightbird.net/py-by-example/os-module.html">os &#8211; Operating system interfaces</a></li>
<li><a href="http://www.lightbird.net/py-by-example/time-module.html">Time Module &#8211; Time access and conversions</a></li>
<li><a href="http://www.lightbird.net/py-by-example/optparse.html">optparse &#8211; Command line option parser</a></li>
<li><a href="http://www.lightbird.net/py-by-example/logging.html">logging &#8211; Logging facility for Python</a></li>
<li><a href="http://www.lightbird.net/py-by-example/platform-module.html">Platform Module &#8211; Access to underlying platform identifying data</a></li>
<li><a href="http://www.lightbird.net/py-by-example/rlcompleter-module.html">Rlcompleter Module &#8211; Completion function for GNU readline</a></li>
</ul>
</li>
<li><a href="http://www.lightbird.net/py-by-example/runtime-services.html">Python Runtime Services</a>
<ul>
<li><a href="http://www.lightbird.net/py-by-example/sys-module.html">Sys Module &#8211; System-specific parameters and functions</a></li>
<li><a href="http://www.lightbird.net/py-by-example/traceback-module.html">Traceback Module &#8211; Print or retrieve a stack traceback</a></li>
<li><a href="http://www.lightbird.net/py-by-example/inspect-module.html">Inspect Module &#8211; Inspect live objects</a></li>
</ul>
</li>
</ul>
<p>Regards M.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.python-blog.com/2009/07/07/python-beginners-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
