From 00c3f224f601692cbfc0d50f2f3a7ec2b7a01cc8 Mon Sep 17 00:00:00 2001 From: Maxim Poletaev Date: Thu, 10 Mar 2016 23:23:39 +0300 Subject: [PATCH] Add RSS Feed example --- examples/rss_feed.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 examples/rss_feed.py diff --git a/examples/rss_feed.py b/examples/rss_feed.py new file mode 100644 index 0000000..e2210ce --- /dev/null +++ b/examples/rss_feed.py @@ -0,0 +1,33 @@ +from tag import XMLDocument +from datetime import datetime +from collections import namedtuple + + +def get_posts(): + Post = namedtuple('Post', ['title', 'description']) + + return [ + Post('Post1', 'Description1'), + Post('Post2', 'Description2'), + ] + + +doc = XMLDocument('rss', attrs={ + 'xmlns:atom': 'http://www.w3.org/2005/Atom', + 'version': '2.0', +}) + +with doc.channel(): + doc.title('Hacker News') + doc.link('https://news.ycombinator.com/') + doc.description('Links for the intellectually curious, ranked by readers.') + now = datetime.now().isoformat() + doc.pubDate(now) + + for post in get_posts(): + with doc.item(): + doc.title(post.title) + doc.description(post.description) + doc.pubDate(now) + +print(doc.render())