summaryrefslogtreecommitdiff
path: root/app/lib/django_comments/feeds.py
diff options
context:
space:
mode:
authorlxf <sng@luxagraf.net>2022-05-14 16:38:07 -0400
committerlxf <sng@luxagraf.net>2022-05-14 16:38:07 -0400
commitbb3973ffb714c932e9ec6dd6a751228dc71fe1d3 (patch)
tree6fa32f9392ad2ec32271349b86a4c1388fd6ba95 /app/lib/django_comments/feeds.py
initial commit
Diffstat (limited to 'app/lib/django_comments/feeds.py')
-rw-r--r--app/lib/django_comments/feeds.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/app/lib/django_comments/feeds.py b/app/lib/django_comments/feeds.py
new file mode 100644
index 0000000..bc8c501
--- /dev/null
+++ b/app/lib/django_comments/feeds.py
@@ -0,0 +1,33 @@
+from django.contrib.sites.shortcuts import get_current_site
+from django.contrib.syndication.views import Feed
+from django.utils.translation import ugettext as _
+
+import django_comments
+
+
+class LatestCommentFeed(Feed):
+ """Feed of latest comments on the current site."""
+
+ def __call__(self, request, *args, **kwargs):
+ self.site = get_current_site(request)
+ return super(LatestCommentFeed, self).__call__(request, *args, **kwargs)
+
+ def title(self):
+ return _("%(site_name)s comments") % dict(site_name=self.site.name)
+
+ def link(self):
+ return "http://%s/" % (self.site.domain)
+
+ def description(self):
+ return _("Latest comments on %(site_name)s") % dict(site_name=self.site.name)
+
+ def items(self):
+ qs = django_comments.get_model().objects.filter(
+ site__pk=self.site.pk,
+ is_public=True,
+ is_removed=False,
+ )
+ return qs.order_by('-submit_date')[:40]
+
+ def item_pubdate(self, item):
+ return item.submit_date