From: Michael Tremer Date: Tue, 6 Nov 2018 09:30:30 +0000 (+0000) Subject: blog: Render feed.xml directly X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b2ed0760d86fdf057a7e476f7aab3b3f7e63f53c;p=ipfire.org.git blog: Render feed.xml directly Signed-off-by: Michael Tremer --- diff --git a/src/web/blog.py b/src/web/blog.py index e20e3f89..375adfc3 100644 --- a/src/web/blog.py +++ b/src/web/blog.py @@ -41,10 +41,8 @@ class AuthorHandler(auth.CacheMixin, base.BaseHandler): class FeedHandler(base.BaseHandler): def get(self): posts = self.backend.blog.get_newest(limit=10) - - # Render the feed - feed = self.render_string("blog/feed.xml", posts=posts, - now=email.utils.formatdate()) + if not posts: + raise tornado.web.HTTPError(404) # Allow this to be cached for 10 minutes self.set_expires(600) @@ -52,8 +50,9 @@ class FeedHandler(base.BaseHandler): # Set correct content type self.set_header("Content-Type", "application/rss+xml") - # Deliver content - self.finish(feed) + # Render the feed + self.render("blog/feed.xml", posts=posts, + now=email.utils.formatdate()) class PostHandler(auth.CacheMixin, base.BaseHandler):