aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2012-03-12 22:50:33 +0100
committerGravatar Tom Willemsen2012-03-12 22:50:33 +0100
commit2eb133ff56911eec60997e882fae63e961a291f3 (patch)
tree11fb5d4e85122a7e182ddf61eec67b5cf2bdb234
parentad30e70b9275eb6fa68677645816180e3b8a3cab (diff)
downloadryuslash.org-2eb133ff56911eec60997e882fae63e961a291f3.tar.gz
ryuslash.org-2eb133ff56911eec60997e882fae63e961a291f3.zip
Add RSS feed
-rw-r--r--aggregator/feeds.py20
-rw-r--r--urls.py4
2 files changed, 23 insertions, 1 deletions
diff --git a/aggregator/feeds.py b/aggregator/feeds.py
new file mode 100644
index 0000000..f5fb8b7
--- /dev/null
+++ b/aggregator/feeds.py
@@ -0,0 +1,20 @@
+from django.contrib.syndication.views import Feed
+
+from .models import Post
+
+class LatestPostsFeed(Feed):
+ title = "ryuslash's RSS feed"
+ link = "/"
+ description = "Updates by ryuslash"
+
+ def items(self):
+ return Post.objects.all()[:20]
+
+ def item_title(self, item):
+ return item.title
+
+ def item_description(self, item):
+ return item.body
+
+ def item_link(self, item):
+ return "/post/%d/" % item.pk
diff --git a/urls.py b/urls.py
index acb1cae..c42fbb6 100644
--- a/urls.py
+++ b/urls.py
@@ -3,9 +3,11 @@ from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.views.generic import DetailView
from aggregator.models import Post
+from aggregator.feeds import LatestPostsFeed
urlpatterns = patterns('',
url(r'^((?P<page>\d+)/)?$', 'aggregator.views.posts'),
- url(r'^post/((?P<pk>\d+)/)?$', DetailView.as_view(model=Post)))
+ url(r'^post/((?P<pk>\d+)/)?$', DetailView.as_view(model=Post)),
+ url(r'^feed/posts/$', LatestPostsFeed()))
urlpatterns += staticfiles_urlpatterns()