Fix blog rss image urls to be absolute

This commit is contained in:
Oliver Marks 2017-04-16 18:35:29 +01:00
parent d6ad83ffaa
commit 181cd6dfb7
1 changed files with 19 additions and 4 deletions

View File

@ -1,4 +1,5 @@
from django.contrib.syndication.views import Feed
from django.contrib.syndication.views import Feed, add_domain
from django.contrib.sites.shortcuts import get_current_site
from django.utils import timezone
from mhackspace.base.feeds import MediaRssFeed
@ -11,8 +12,15 @@ class BlogFeed(Feed):
feed_type = MediaRssFeed
description = "The latest blog posts and news from the Maidstone Hackspace site"
def get_feed(self, obj, request):
self.current_site = get_current_site(request)
return super(BlogFeed, self).get_feed(obj, request)
def items(self, category):
return Post.objects.select_related('author').filter(active=True, members_only=False, published_date__lte=timezone.now())[:20]
return Post.objects.select_related('author').filter(
active=True,
members_only=False,
published_date__lte=timezone.now())[:20]
def item_title(self, post):
return post.title
@ -38,7 +46,10 @@ class BlogFeed(Feed):
def item_extra_kwargs(self, post):
return {
'thumbnail_url': post.image.full.url,
'thumbnail_url': add_domain(
domain=self.current_site.domain,
url=post.image.full.url,
secure=True),
'thumbnail_width': post.image.full.width,
'thumbnail_height': post.image.full.height,
}
@ -49,7 +60,11 @@ class BlogCategoryFeed(BlogFeed):
return Category.objects.filter(slug=category).first()
def items(self, category):
return Post.objects.select_related('author').filter(active=True, members_only=False, categories=category, published_date__lte=timezone.now())[:20]
return Post.objects.select_related('author').filter(
active=True,
members_only=False,
categories=category,
published_date__lte=timezone.now())[:20]
def title(self, category):
return "Maidstone Hackspace Blog: %s" % category.name