1
from django.contrib.syndication.views import Feed, FeedDoesNotExist
1
from django.contrib.syndication.feeds import FeedDoesNotExist
2
2
from django.core.exceptions import ObjectDoesNotExist
3
from django.urls import reverse
4
from news.models import Post, Category
6
# Validated through http://validator.w3.org/feed/
3
from django.contrib.sites.models import Site
4
from django.contrib.syndication.feeds import Feed
5
from django.core.urlresolvers import reverse
6
from widelands.news.models import Post, Category
9
9
class NewsPostsFeed(Feed):
11
title = 'Widelands news feed'
12
description = 'The news section from the widelands.org homepage'
13
title_template = 'news/feeds/posts_title.html'
14
description_template = 'news/feeds/posts_description.html'
10
_site = Site.objects.get_current()
11
title = '%s feed' % _site.name
12
description = '%s posts feed.' % _site.name
15
return reverse('news_index')
17
18
return Post.objects.published()[:10]
20
return reverse('news_index')
22
def item_pubdate(self, item):
20
def item_pubdate(self, obj):
24
class NewsPostsByCategory(Feed):
25
_site = Site.objects.get_current()
26
title = '%s posts category feed' % _site.name
28
def get_object(self, bits):
30
raise ObjectDoesNotExist
31
return Category.objects.get(slug__exact=bits[0])
35
raise FeedDoesNotExist
36
return obj.get_absolute_url()
38
def description(self, obj):
39
return "Posts recently categorized as %s" % obj.title
42
return obj.post_set.published()[:10]