~widelands-dev/widelands-website/trunk

« back to all changes in this revision

Viewing changes to news/feeds.py

  • Committer: Holger Rapp
  • Date: 2009-02-21 18:24:02 UTC
  • Revision ID: sirver@kallisto.local-20090221182402-k3tuf5c4gjwslbjf
Main Page contains now the same informations as before

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from django.contrib.syndication.feeds import FeedDoesNotExist
 
2
from django.core.exceptions import ObjectDoesNotExist
 
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
 
7
 
 
8
 
 
9
class NewsPostsFeed(Feed):
 
10
    _site = Site.objects.get_current()
 
11
    title = '%s feed' % _site.name
 
12
    description = '%s posts feed.' % _site.name
 
13
 
 
14
    def link(self):
 
15
        return reverse('news_index')
 
16
 
 
17
    def items(self):
 
18
        return Post.objects.published()[:10]
 
19
 
 
20
    def item_pubdate(self, obj):
 
21
        return obj.publish
 
22
 
 
23
 
 
24
class NewsPostsByCategory(Feed):
 
25
    _site = Site.objects.get_current()
 
26
    title = '%s posts category feed' % _site.name
 
27
    
 
28
    def get_object(self, bits):
 
29
        if len(bits) != 1:
 
30
            raise ObjectDoesNotExist
 
31
        return Category.objects.get(slug__exact=bits[0])
 
32
 
 
33
    def link(self, obj):
 
34
        if not obj:
 
35
            raise FeedDoesNotExist
 
36
        return obj.get_absolute_url()
 
37
 
 
38
    def description(self, obj):
 
39
        return "Posts recently categorized as %s" % obj.title
 
40
    
 
41
    def items(self, obj):
 
42
        return obj.post_set.published()[:10]