class FeedHandler(base.BaseHandler):
def get(self):
- cache_key = "%s-%s" % (self.request.host, self.request.path)
+ posts = self.backend.blog.get_newest(limit=50)
- # Get feed from cache if possible
- feed = self.memcached.get(cache_key)
- if not feed:
- posts = self.backend.blog.get_newest(limit=50)
+ # Render the feed
+ feed = self.render_string("blog/feed.xml", posts=posts,
+ now=email.utils.formatdate())
- # Render the feed
- feed = self.render_string("blog/feed.xml", posts=posts,
- now=email.utils.formatdate())
-
- # Store in cache for 5min
- self.memcached.set(cache_key, feed, 300)
+ # Allow this to be cached for 5 minutes
+ self.set_expires(300)
# Set correct content type
self.set_header("Content-Type", "application/rss+xml")