From 319b553f69ea602f106c652cf2c472fcd28b9375 Mon Sep 17 00:00:00 2001 From: mviera Date: Wed, 3 Aug 2011 22:00:41 +0200 Subject: [PATCH] I developed the ARTICLE_PERMALINK_STRUCTURE option into the wrong method, because urls in feed are not being modified. Now, it's fixed. Issue #145. --- pelican/generators.py | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/pelican/generators.py b/pelican/generators.py index 8d6de666..f6ac35a0 100755 --- a/pelican/generators.py +++ b/pelican/generators.py @@ -161,20 +161,6 @@ class ArticlesGenerator(Generator): # in writer, articles pass first article_template = self.get_template('article') for article in chain(self.translations, self.articles): - add_to_url = u'' - if 'ARTICLE_PERMALINK_STRUCTURE' in self.settings: - article_permalink_structure = self.settings['ARTICLE_PERMALINK_STRUCTURE'] - article_permalink_structure = article_permalink_structure.lstrip('/') - - # try to substitute any python datetime directive - add_to_url = article.date.strftime(article_permalink_structure) - # try to substitute any article metadata in rest file - add_to_url = add_to_url % article.__dict__ - add_to_url = [slugify(i) for i in add_to_url.split('/')] - add_to_url = os.path.join(*add_to_url) - - article.url = urlparse.urljoin(add_to_url, article.url) - article.save_as = urlparse.urljoin(add_to_url, article.save_as) write(article.save_as, article_template, self.context, article=article, category=article.category) @@ -247,6 +233,21 @@ class ArticlesGenerator(Generator): if not is_valid_content(article, f): continue + add_to_url = u'' + if 'ARTICLE_PERMALINK_STRUCTURE' in self.settings: + article_permalink_structure = self.settings['ARTICLE_PERMALINK_STRUCTURE'] + article_permalink_structure = article_permalink_structure.lstrip('/') + + # try to substitute any python datetime directive + add_to_url = article.date.strftime(article_permalink_structure) + # try to substitute any article metadata in rest file + add_to_url = add_to_url % article.__dict__ + add_to_url = [slugify(i) for i in add_to_url.split('/')] + add_to_url = os.path.join(*add_to_url) + + article.url = urlparse.urljoin(add_to_url, article.url) + article.save_as = urlparse.urljoin(add_to_url, article.save_as) + if article.status == "published": if hasattr(article, 'tags'): for tag in article.tags: