﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
14202	Rss201rev2Feed bug	ZalivinDenis@…	Taylor Mitchell	"Bug with ...

Even exhample, given here is not working:

{{{
>>> from django.utils import feedgenerator
>>> feed = feedgenerator.Rss201rev2Feed(
...     title=u""Poynter E-Media Tidbits"",
...     link=u""http://www.poynter.org/column.asp?id=31"",
...     description=u""A group weblog by the sharpest minds in online media/journalism/publishing."",
...     language=u""en"",
... )
>>> feed.add_item(
...     title=""Hello"",
...     link=u""http://www.holovaty.com/test/"",
...     description=""Testing.""
... )
>>> fp = open('test.rss', 'w')
>>> feed.write(fp, 'utf-8')

/home/denis/svn/trunk/env/django121/django/utils/feedgenerator.pyc in write(self, outfile, encoding)
    201         handler.startElement(u""rss"", self.rss_attributes())
    202         handler.startElement(u""channel"", self.root_attributes())
--> 203         self.add_root_elements(handler)
    204         self.write_items(handler)
    205         self.endChannelElement(handler)

/home/denis/svn/trunk/env/django121/django/utils/feedgenerator.pyc in add_root_elements(self, handler)
    220         handler.addQuickElement(u""link"", self.feed['link'])
    221         handler.addQuickElement(u""description"", self.feed['description'])
--> 222         handler.addQuickElement(u""atom:link"", None, {u""rel"": u""self"", u""href"": self.feed['feed_url']})
    223         if self.feed['language'] is not None:
    224             handler.addQuickElement(u""language"", self.feed['language'])

/home/denis/svn/trunk/env/django121/django/utils/xmlutils.py in addQuickElement(self, name, contents, attrs)
     10         print '>>>>>>>>>>', attrs
     11         if attrs is None: attrs = {}
---> 12         self.startElement(name, attrs)
     13         if contents is not None:
     14             self.characters(contents)

/usr/lib/python2.5/xml/sax/saxutils.pyc in startElement(self, name, attrs)
    130         self._write('<' + name)
    131         for (name, value) in attrs.items():
--> 132             self._write(' %s=%s' % (name, quoteattr(value)))
    133         self._write('>')
    134 

/usr/lib/python2.5/xml/sax/saxutils.pyc in quoteattr(data, entities)
     71     entities = entities.copy()
     72     entities.update({'\n': '&#10;', '\r': '&#13;', '\t':'&#9;'})
---> 73     data = escape(data, entities)
     74     if '""' in data:
     75         if ""'"" in data:

/usr/lib/python2.5/xml/sax/saxutils.pyc in escape(data, entities)
     37 
     38     # must do ampersand first
---> 39     data = data.replace(""&"", ""&amp;"")
     40     data = data.replace("">"", ""&gt;"")
     41     data = data.replace(""<"", ""&lt;"")

AttributeError: 'NoneType' object has no attribute 'replace'
}}}"	Bug	closed	contrib.syndication	1.2	Normal	fixed	Rss201rev2Feed, feedgenerator		Accepted	1	0	0	0	0	0
