From aec98120ab705e71858b9af9bfc610a3c43a2c5a Mon Sep 17 00:00:00 2001 From: Danielle McLean Date: Fri, 11 May 2018 13:45:26 +1000 Subject: [PATCH] Whoops, include an updated date on items in Atom/RSS but do it correctly? Also made a few other minor improvements to the feeds --- entries/models.py | 4 ++++ entries/views/feeds.py | 11 +++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/entries/models.py b/entries/models.py index 93034b2..7a0a2ef 100644 --- a/entries/models.py +++ b/entries/models.py @@ -137,6 +137,10 @@ class Entry(ModelMeta, TimeStampedModel): return '{0} {1}: {2}'.format(self.kind, self.id, self.title) def get_absolute_url(self): + return self.absolute_url + + @property + def absolute_url(self): base = 'https://' + Site.objects.get_current().domain return urljoin(base, self.url) diff --git a/entries/views/feeds.py b/entries/views/feeds.py index b7a042d..2a0fac9 100644 --- a/entries/views/feeds.py +++ b/entries/views/feeds.py @@ -3,7 +3,6 @@ from django.contrib.sites.models import Site from django.contrib.syndication.views import Feed from django.urls import reverse from django.utils.feedgenerator import Atom1Feed -from urllib.parse import urljoin from lemoncurry.templatetags.markdown import markdown from ..kinds import on_home from ..models import Entry @@ -17,6 +16,11 @@ class Atom1FeedWithHub(Atom1Feed): class EntriesFeed(Feed): + item_guid_is_permalink = True + + def item_link(self, entry): + return entry.absolute_url + def item_title(self, entry): return entry.title @@ -30,13 +34,12 @@ class EntriesFeed(Feed): return entry.author.email def item_author_link(self, entry): - base = 'https://' + Site.objects.get_current().domain - return urljoin(base, entry.author.url) + return entry.author.absolute_url def item_pubdate(self, entry): return entry.published - def item_updatedate(self, entry): + def item_updateddate(self, entry): return entry.updated def item_categories(self, entry):