##// END OF EJS Templates
Updated RSS module to use the new get_thread() method for posts
neko259 -
r626:93dc4405 default
parent child Browse files
Show More
@@ -1,79 +1,80 b''
1 from django.contrib.syndication.views import Feed
1 from django.contrib.syndication.views import Feed
2 from django.core.urlresolvers import reverse
2 from django.core.urlresolvers import reverse
3 from django.shortcuts import get_object_or_404
3 from django.shortcuts import get_object_or_404
4 from boards.models import Post, Tag, Thread
4 from boards.models import Post, Tag, Thread
5 from neboard import settings
5 from neboard import settings
6
6
7 __author__ = 'neko259'
7 __author__ = 'neko259'
8
8
9
9
10 # TODO Make tests for all of these
10 # TODO Make tests for all of these
11 class AllThreadsFeed(Feed):
11 class AllThreadsFeed(Feed):
12
12
13 title = settings.SITE_NAME + ' - All threads'
13 title = settings.SITE_NAME + ' - All threads'
14 link = '/'
14 link = '/'
15 description_template = 'boards/rss/post.html'
15 description_template = 'boards/rss/post.html'
16
16
17 def items(self):
17 def items(self):
18 return Thread.objects.filter(archived=False).order_by('-id')
18 return Thread.objects.filter(archived=False).order_by('-id')
19
19
20 def item_title(self, item):
20 def item_title(self, item):
21 return item.get_opening_post().title
21 return item.get_opening_post().title
22
22
23 def item_link(self, item):
23 def item_link(self, item):
24 return reverse('thread', args={item.get_opening_post().id})
24 return reverse('thread', args={item.get_opening_post_id()})
25
25
26 def item_pubdate(self, item):
26 def item_pubdate(self, item):
27 return item.get_pub_time()
27 return item.get_pub_time()
28
28
29
29
30 class TagThreadsFeed(Feed):
30 class TagThreadsFeed(Feed):
31
31
32 link = '/'
32 link = '/'
33 description_template = 'boards/rss/post.html'
33 description_template = 'boards/rss/post.html'
34
34
35 def items(self, obj):
35 def items(self, obj):
36 return obj.threads.filter(archived=False).order_by('-id')
36 return obj.threads.filter(archived=False).order_by('-id')
37
37
38 def get_object(self, request, tag_name):
38 def get_object(self, request, tag_name):
39 return get_object_or_404(Tag, name=tag_name)
39 return get_object_or_404(Tag, name=tag_name)
40
40
41 def item_title(self, item):
41 def item_title(self, item):
42 return item.get_opening_post().title
42 return item.get_opening_post().title
43
43
44 def item_link(self, item):
44 def item_link(self, item):
45 return reverse('thread', args={item.get_opening_post().id})
45 return reverse('thread', args={item.get_opening_post_id()})
46
46
47 def item_pubdate(self, item):
47 def item_pubdate(self, item):
48 return item.get_pub_time()
48 return item.get_pub_time()
49
49
50 def title(self, obj):
50 def title(self, obj):
51 return obj.name
51 return obj.name
52
52
53
53
54 class ThreadPostsFeed(Feed):
54 class ThreadPostsFeed(Feed):
55
55
56 link = '/'
56 link = '/'
57 description_template = 'boards/rss/post.html'
57 description_template = 'boards/rss/post.html'
58
58
59 def items(self, obj):
59 def items(self, obj):
60 return obj.thread_new.get_replies()
60 return obj.get_thread().get_replies()
61
61
62 def get_object(self, request, post_id):
62 def get_object(self, request, post_id):
63 return get_object_or_404(Post, id=post_id)
63 return get_object_or_404(Post, id=post_id)
64
64
65 def item_title(self, item):
65 def item_title(self, item):
66 return item.title
66 return item.title
67
67
68 def item_link(self, item):
68 def item_link(self, item):
69 if not item.is_opening():
69 if not item.is_opening():
70 return reverse('thread', args={item.thread_new.get_opening_post()
70 return reverse('thread', args={
71 .id}) + "#" + str(item.id)
71 item.get_thread().get_opening_post_id()
72 }) + "#" + str(item.id)
72 else:
73 else:
73 return reverse('thread', args={item.id})
74 return reverse('thread', args={item.id})
74
75
75 def item_pubdate(self, item):
76 def item_pubdate(self, item):
76 return item.pub_time
77 return item.pub_time
77
78
78 def title(self, obj):
79 def title(self, obj):
79 return obj.title
80 return obj.title
General Comments 0
You need to be logged in to leave comments. Login now