Add category support to the Atom feed

This commit is contained in:
str4d
2013-02-03 02:53:58 +00:00
parent f32b6e3c14
commit 55af9d11b3
4 changed files with 10 additions and 6 deletions

View File

@ -23,8 +23,8 @@ LIST_METATAGS = [
##################### #####################
# Blog helper methods # Blog helper methods
def get_blog_feed_items(num=0): def get_blog_feed_items(num=0, category=None):
posts = get_blog_posts(num, True) posts = get_blog_posts(num, True, category=category)
items = [] items = []
for post in posts: for post in posts:
meta = post[1] meta = post[1]

View File

@ -45,10 +45,12 @@ def blog_rss():
pass pass
@cache.cached(600) @cache.cached(600)
def blog_atom(): def blog_atom(category=None):
# TODO: Only output beginning of each blog post feed_title = 'I2P Blog'
feed = AtomFeed('I2P Blog', feed_url=request.url, url=request.url_root) if category:
items = get_blog_feed_items(10) feed_title = 'I2P Blog Category: %s' % category
feed = AtomFeed(feed_title, feed_url=request.url, url=request.url_root)
items = get_blog_feed_items(10, category=category)
for item in items: for item in items:
feed.add(item['title'], feed.add(item['title'],
item['content'], item['content'],

View File

@ -1,4 +1,5 @@
{% extends "blog/index.html" %} {% extends "blog/index.html" %}
{% block title %}{{ _('Blog Category') }}: {{ category }}{% endblock %} {% block title %}{{ _('Blog Category') }}: {{ category }}{% endblock %}
{% block headextra %} {% block headextra %}
<link href="{{ get_url('blog_atom', category=category) }}" type="application/atom+xml" rel="alternate" title="{% trans %}I2P Blog ATOM Feed for Category: {{ category }}{% endtrans %}" />
{%- endblock %} {%- endblock %}

View File

@ -45,6 +45,7 @@ url('/<lang:lang>/blog/category/<string:category>/page/<int:page>', 'blog.views.
url('/<lang:lang>/blog/post/<path:slug>', 'blog.views.blog_post') url('/<lang:lang>/blog/post/<path:slug>', 'blog.views.blog_post')
url('/<lang:lang>/feed/blog/rss', 'blog.views.blog_rss') url('/<lang:lang>/feed/blog/rss', 'blog.views.blog_rss')
url('/<lang:lang>/feed/blog/atom', 'blog.views.blog_atom') url('/<lang:lang>/feed/blog/atom', 'blog.views.blog_atom')
url('/<lang:lang>/feed/blog/category/<string:category>/atom', 'blog.views.blog_atom')
url('/<lang:lang>/meetings/', 'meetings.views.meetings_index', defaults={'page': 1}) url('/<lang:lang>/meetings/', 'meetings.views.meetings_index', defaults={'page': 1})
url('/<lang:lang>/meetings/page/<int:page>', 'meetings.views.meetings_index') url('/<lang:lang>/meetings/page/<int:page>', 'meetings.views.meetings_index')