diff --git a/mhackspace/blog/feeds.py b/mhackspace/blog/feeds.py index 102a24e..a1f71fa 100644 --- a/mhackspace/blog/feeds.py +++ b/mhackspace/blog/feeds.py @@ -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