From 485a10c47e0373f031fd8a105af6b20b0da51450 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Germ=C3=A1n=20Poo-Caama=C3=B1o?= Date: Wed, 30 Oct 2013 18:11:08 -0700 Subject: [PATCH] Fix #1039 ATOM feed for sites using https or a subdirectory Fixes issue #1039. Atom feed is invalid when SITEURL has https or a subdirectory, for example: * https://myblog.com/ * http://mysite.com/blog --- pelican/writers.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pelican/writers.py b/pelican/writers.py index c762bbe4..1fa25263 100644 --- a/pelican/writers.py +++ b/pelican/writers.py @@ -5,6 +5,7 @@ import six import os import locale import logging +from urlparse import urlparse from codecs import open from feedgenerator import Atom1Feed, Rss201rev2Feed @@ -35,11 +36,12 @@ class Writer(object): def _add_item_to_the_feed(self, feed, item): title = Markup(item.title).striptags() + link='%s/%s' % (self.site_url, item.url) feed.add_item( title=title, - link='%s/%s' % (self.site_url, item.url), - unique_id='tag:%s,%s:%s' % (self.site_url.replace('http://', ''), - item.date.date(), item.url), + link=link, + unique_id='tag:%s,%s:%s' % (urlparse(link).netloc, + item.date.date(), urlparse(link).path), description=item.get_content(self.site_url), categories=item.tags if hasattr(item, 'tags') else None, author_name=getattr(item, 'author', ''),