blob: d0927dc866597ebc27d603191c97a3d172a032d8 (
plain)
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
|
from django.contrib.syndication.views import Feed
from django.template.defaultfilters import slugify
from pgweb.util.moderation import ModerationState
from .models import NewsArticle
from datetime import datetime, time
class NewsFeed(Feed):
title = description = "PostgreSQL news"
link = "https://www.postgresql.org/"
description_template = 'news/rss_description.html'
title_template = 'news/rss_title.html'
def get_object(self, request, tagurl=None):
return tagurl
def items(self, obj):
if obj:
return NewsArticle.objects.filter(modstate=ModerationState.APPROVED, tags__urlname=obj)[:10]
else:
return NewsArticle.objects.filter(modstate=ModerationState.APPROVED)[:10]
def item_link(self, obj):
return "https://www.postgresql.org/about/news/{}-{}/".format(slugify(obj.title), obj.id)
def item_pubdate(self, obj):
return datetime.combine(obj.date, time.min)
|