Show More
@@ -1,80 +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 |
|
4 | from boards.models import Post, Tag | |
5 | from neboard import settings |
|
5 | from neboard import settings | |
6 |
|
6 | |||
7 | __author__ = 'neko259' |
|
7 | __author__ = 'neko259' | |
8 |
|
8 | |||
9 | MAX_ITEMS = 20 |
|
9 | MAX_ITEMS = 20 | |
10 |
|
10 | |||
11 | # TODO Make tests for all of these |
|
11 | # TODO Make tests for all of these | |
12 | class AllThreadsFeed(Feed): |
|
12 | class AllThreadsFeed(Feed): | |
13 |
|
13 | |||
14 | title = settings.SITE_NAME + ' - All threads' |
|
14 | title = settings.SITE_NAME + ' - All threads' | |
15 | link = '/' |
|
15 | link = '/' | |
16 | description_template = 'boards/rss/post.html' |
|
16 | description_template = 'boards/rss/post.html' | |
17 |
|
17 | |||
18 | def items(self): |
|
18 | def items(self): | |
19 |
|
|
19 | return Post.objects.get_threads(order_by='-pub_time')[-MAX_ITEMS:] | |
20 |
|
20 | |||
21 | def item_title(self, item): |
|
21 | def item_title(self, item): | |
22 | return item.title |
|
22 | return item.title | |
23 |
|
23 | |||
24 | def item_link(self, item): |
|
24 | def item_link(self, item): | |
25 | return reverse('thread', args={item.id}) |
|
25 | return reverse('thread', args={item.id}) | |
26 |
|
26 | |||
27 | def item_pubdate(self, item): |
|
27 | def item_pubdate(self, item): | |
28 | return item.pub_time |
|
28 | return item.pub_time | |
29 |
|
29 | |||
30 |
|
30 | |||
31 | class TagThreadsFeed(Feed): |
|
31 | class TagThreadsFeed(Feed): | |
32 |
|
32 | |||
33 | link = '/' |
|
33 | link = '/' | |
34 | description_template = 'boards/rss/post.html' |
|
34 | description_template = 'boards/rss/post.html' | |
35 |
|
35 | |||
36 | def items(self, obj): |
|
36 | def items(self, obj): | |
37 | return Post.objects.get_threads(tag=obj, |
|
37 | return Post.objects.get_threads(tag=obj, | |
38 |
order_by='-pub_time')[: |
|
38 | order_by='-pub_time')[-MAX_ITEMS:] | |
39 |
|
39 | |||
40 | def get_object(self, request, tag_name): |
|
40 | def get_object(self, request, tag_name): | |
41 | return get_object_or_404(Tag, name=tag_name) |
|
41 | return get_object_or_404(Tag, name=tag_name) | |
42 |
|
42 | |||
43 | def item_title(self, item): |
|
43 | def item_title(self, item): | |
44 | return item.title |
|
44 | return item.title | |
45 |
|
45 | |||
46 | def item_link(self, item): |
|
46 | def item_link(self, item): | |
47 | return reverse('thread', args={item.id}) |
|
47 | return reverse('thread', args={item.id}) | |
48 |
|
48 | |||
49 | def item_pubdate(self, item): |
|
49 | def item_pubdate(self, item): | |
50 | return item.pub_time |
|
50 | return item.pub_time | |
51 |
|
51 | |||
52 | def title(self, obj): |
|
52 | def title(self, obj): | |
53 | return obj.name |
|
53 | return obj.name | |
54 |
|
54 | |||
55 |
|
55 | |||
56 | class ThreadPostsFeed(Feed): |
|
56 | class ThreadPostsFeed(Feed): | |
57 |
|
57 | |||
58 | link = '/' |
|
58 | link = '/' | |
59 | description_template = 'boards/rss/post.html' |
|
59 | description_template = 'boards/rss/post.html' | |
60 |
|
60 | |||
61 | def items(self, obj): |
|
61 | def items(self, obj): | |
62 |
return Post.objects.get_thread(opening_post_id=obj)[: |
|
62 | return Post.objects.get_thread(opening_post_id=obj)[-MAX_ITEMS:] | |
63 |
|
63 | |||
64 | def get_object(self, request, post_id): |
|
64 | def get_object(self, request, post_id): | |
65 | return post_id |
|
65 | return post_id | |
66 |
|
66 | |||
67 | def item_title(self, item): |
|
67 | def item_title(self, item): | |
68 | return item.title |
|
68 | return item.title | |
69 |
|
69 | |||
70 | def item_link(self, item): |
|
70 | def item_link(self, item): | |
71 | if item.thread: |
|
71 | if item.thread: | |
72 | return reverse('thread', args={item.thread.id}) + "#" + str(item.id) |
|
72 | return reverse('thread', args={item.thread.id}) + "#" + str(item.id) | |
73 | else: |
|
73 | else: | |
74 | return reverse('thread', args={item.id}) |
|
74 | return reverse('thread', args={item.id}) | |
75 |
|
75 | |||
76 | def item_pubdate(self, item): |
|
76 | def item_pubdate(self, item): | |
77 | return item.pub_time |
|
77 | return item.pub_time | |
78 |
|
78 | |||
79 | def title(self, obj): |
|
79 | def title(self, obj): | |
80 | return get_object_or_404(Post, id=obj).title |
|
80 | return get_object_or_404(Post, id=obj).title |
General Comments 0
You need to be logged in to leave comments.
Login now