1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
from django.contrib.syndication.views import Feed
from django.core.urlresolvers import reverse
from oneliners.models import OneLiner, Question, Comment_feed
### URL handlers
def oneliner(request):
return OneLinerEntries()(request)
def question(request):
return QuestionEntries()(request)
def comment(request):
return CommentEntries()(request)
### Feed classes
class OneLinerEntries(Feed):
title = "Bash One-Liners"
link = reverse(oneliner)
description = "Recently posted bash one-liners on bashoneliners.com"
description_template = 'main/feeds/oneliner.html'
def items(self):
return OneLiner.feed()
class QuestionEntries(Feed):
title = "Questions for bash one-liners"
link = reverse(question)
description = "Recently posted questions/requests on bashoneliners.com"
description_template = 'main/feeds/question.html'
def items(self):
return Question.feed()
class CommentEntries(Feed):
title = "Comments on bash one-liners"
link = reverse(comment)
description = "Recently posted comments on bashoneliners.com"
description_template = 'main/feeds/comment.html'
def items(self):
return Comment_feed()
def item_title(self, item):
return self.ellipsize(item.comment)
def ellipsize(self, text):
if len(text) < 50:
return text
else:
return text[:46] + ' ...'
# eof
|