##// END OF EJS Templates
Show only several last items in the RSS feed.
neko259 -
r189:bd4cb780 default
parent child Browse files
Show More
@@ -1,74 +1,76 b''
1 1 from django.contrib.syndication.views import Feed
2 2 from django.core.urlresolvers import reverse
3 3 from django.shortcuts import get_object_or_404
4 4 from boards.models import Post, Tag, NO_PARENT
5 5 from neboard import settings
6 6
7 7 __author__ = 'neko259'
8 8
9 MAX_ITEMS = 20
10
9 11
10 12 class AllThreadsFeed(Feed):
11 13 title = settings.SITE_NAME + ' - All threads'
12 14 link = '/'
13 15 description_template = 'boards/rss/post.html'
14 16
15 17 def items(self):
16 return Post.objects.get_threads(order_by='-pub_time')
18 return Post.objects.get_threads(order_by='-pub_time')[:MAX_ITEMS]
17 19
18 20 def item_title(self, item):
19 21 return item.title
20 22
21 23 def item_link(self, item):
22 24 return reverse('thread', args={item.id})
23 25
24 26 def item_pubdate(self, item):
25 27 return item.pub_time
26 28
27 29
28 30 class TagThreadsFeed(Feed):
29 31 link = '/'
30 32 description_template = 'boards/rss/post.html'
31 33
32 34 def items(self, obj):
33 return Post.objects.get_threads(tag=obj, order_by='-pub_time')
35 return Post.objects.get_threads(tag=obj, order_by='-pub_time')[:MAX_ITEMS]
34 36
35 37 def get_object(self, request, tag_name):
36 38 return get_object_or_404(Tag, name=tag_name)
37 39
38 40 def item_title(self, item):
39 41 return item.title
40 42
41 43 def item_link(self, item):
42 44 return reverse('thread', args={item.id})
43 45
44 46 def item_pubdate(self, item):
45 47 return item.pub_time
46 48
47 49 def title(self, obj):
48 50 return obj.name
49 51
50 52
51 53 class ThreadPostsFeed(Feed):
52 54 link = '/'
53 55 description_template = 'boards/rss/post.html'
54 56
55 57 def items(self, obj):
56 return Post.objects.get_thread(opening_post_id=obj)
58 return Post.objects.get_thread(opening_post_id=obj)[:MAX_ITEMS]
57 59
58 60 def get_object(self, request, post_id):
59 61 return post_id
60 62
61 63 def item_title(self, item):
62 64 return item.title
63 65
64 66 def item_link(self, item):
65 67 if NO_PARENT == item.parent:
66 68 return reverse('thread', args={item.id})
67 69 else:
68 70 return reverse('thread', args={item.parent}) + "#" + str(item.id)
69 71
70 72 def item_pubdate(self, item):
71 73 return item.pub_time
72 74
73 75 def title(self, obj):
74 76 return get_object_or_404(Post, id=obj).title No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now