I have a demo / prototype GAE RSS reader using Feedparser - http://deliciourss.appspot.com/ . Here is some code -
Get feed.
data = urlfetch.fetch(feedUrl)
Analysis with Feedparser
parsedData = feedparser.parse(data.content)
Change some feed features
# set main section to description if empty for ix in range(len(parsedData.entries)): bItem = 0 if hasattr(parsedData.entries[ix],'content'): for item in parsedData.entries[ix].content: if item.value: bItem = 1 break if bItem == 0: parsedData.entries[ix].content[0].value = parsedData.entries[ix].summary else: parsedData.entries[ix].content = [{'value':parsedData.entries[ix].summary}]
Template if you use Django / webapp
<?xml version="1.0" encoding="utf-8"?> <channel> <title>{{parsedData.channel.title}}</title> <url>{{feedUrl}}</url> <id>{{parsedData.channel.id}}</id> <updated>{{parsedData.channel.updated}}</updated> {% for entry in parsedData.entries %} <item> <id>{{entry.id}}</id> <title>{{entry.title}}</title> <link> {% for link in entry.links %} {% ifequal link.rel "alternate" %} {{link.href|escape}} {% endifequal %} {% endfor %} </link> <author>{{entry.author_detail.name}}</author> <pubDate>{{entry.published}}</pubDate> <description>{{entry.summary|escape}}</description> {% for item in entry.content %} {% if item.value %} <content>{{item.value|escape}}</content> {% endif %} {% endfor %} </item>{% endfor %} </channel>
source share