From 8bf0a22eb0a49cad133958cbd2145febb9e1228d Mon Sep 17 00:00:00 2001 From: Bruno Binet Date: Fri, 2 Mar 2012 16:32:05 +0100 Subject: [PATCH] fix encoding errors error was:codeEncodeError: 'ascii' codec can't encode character u'\xe9' [..] --- pelican/contents.py | 28 ++++++++++++++-------------- pelican/generators.py | 7 +++---- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/pelican/contents.py b/pelican/contents.py index 12da22ef..90bc189d 100644 --- a/pelican/contents.py +++ b/pelican/contents.py @@ -106,16 +106,16 @@ class Page(object): @property def url(self): if self.in_default_lang: - return self.settings.get('PAGE_URL', 'pages/{slug}.html').format(**self.url_format) + return self.settings.get('PAGE_URL', u'pages/{slug}.html').format(**self.url_format) - return self.settings.get('PAGE_LANG_URL', 'pages/{slug}-{lang}.html').format(**self.url_format) + return self.settings.get('PAGE_LANG_URL', u'pages/{slug}-{lang}.html').format(**self.url_format) @property def save_as(self): if self.in_default_lang: - return self.settings.get('PAGE_SAVE_AS', 'pages/{slug}.html').format(**self.url_format) + return self.settings.get('PAGE_SAVE_AS', u'pages/{slug}.html').format(**self.url_format) - return self.settings.get('PAGE_LANG_SAVE_AS', 'pages/{slug}-{lang}.html').format(**self.url_format) + return self.settings.get('PAGE_LANG_SAVE_AS', u'pages/{slug}-{lang}.html').format(**self.url_format) @property def content(self): @@ -143,16 +143,16 @@ class Article(Page): @property def url(self): if self.in_default_lang: - return self.settings.get('ARTICLE_URL', '{slug}.html').format(**self.url_format) + return self.settings.get('ARTICLE_URL', u'{slug}.html').format(**self.url_format) - return self.settings.get('ARTICLE_LANG_URL', '{slug}-{lang}.html').format(**self.url_format) + return self.settings.get('ARTICLE_LANG_URL', u'{slug}-{lang}.html').format(**self.url_format) @property def save_as(self): if self.in_default_lang: - return self.settings.get('ARTICLE_SAVE_AS', '{slug}.html').format(**self.url_format) + return self.settings.get('ARTICLE_SAVE_AS', u'{slug}.html').format(**self.url_format) - return self.settings.get('ARTICLE_LANG_SAVE_AS', '{slug}-{lang}.html').format(**self.url_format) + return self.settings.get('ARTICLE_LANG_SAVE_AS', u'{slug}-{lang}.html').format(**self.url_format) class Quote(Page): @@ -182,11 +182,11 @@ class URLWrapper(object): class Category(URLWrapper): @property def url(self): - return self.settings.get('CATEGORY_URL', 'category/{name}.html').format(name=self.name) + return self.settings.get('CATEGORY_URL', u'category/{name}.html').format(name=self.name) @property def save_as(self): - return self.settings.get('CATEGORY_SAVE_AS', 'category/{name}.html').format(name=self.name) + return self.settings.get('CATEGORY_SAVE_AS', u'category/{name}.html').format(name=self.name) class Tag(URLWrapper): def __init__(self, name, *args, **kwargs): @@ -194,20 +194,20 @@ class Tag(URLWrapper): @property def url(self): - return self.settings.get('TAG_URL', 'tag/{name}.html').format(name=self.name) + return self.settings.get('TAG_URL', u'tag/{name}.html').format(name=self.name) @property def save_as(self): - return self.settings.get('TAG_SAVE_AS', 'tag/{name}.html').format(name=self.name) + return self.settings.get('TAG_SAVE_AS', u'tag/{name}.html').format(name=self.name) class Author(URLWrapper): @property def url(self): - return self.settings.get('AUTHOR_URL', 'author/{name}.html').format(name=self.name) + return self.settings.get('AUTHOR_URL', u'author/{name}.html').format(name=self.name) @property def save_as(self): - return self.settings.get('AUTHOR_SAVE_AS', 'author/{name}.html').format(name=self.name) + return self.settings.get('AUTHOR_SAVE_AS', u'author/{name}.html').format(name=self.name) def is_valid_content(content, f): try: diff --git a/pelican/generators.py b/pelican/generators.py index 12bd20af..47ebb941 100644 --- a/pelican/generators.py +++ b/pelican/generators.py @@ -182,7 +182,7 @@ class ArticlesGenerator(Generator): write(tag.save_as, tag_template, self.context, tag=tag, articles=articles, dates=dates, paginated={'articles': articles, 'dates': dates}, - page_name='tag/%s' % tag) + page_name=u'tag/%s' % tag) category_template = self.get_template('category') for cat, articles in self.categories: @@ -190,7 +190,7 @@ class ArticlesGenerator(Generator): write(cat.save_as, category_template, self.context, category=cat, articles=articles, dates=dates, paginated={'articles': articles, 'dates': dates}, - page_name='category/%s' % cat) + page_name=u'category/%s' % cat) author_template = self.get_template('author') for aut, articles in self.authors: @@ -198,7 +198,7 @@ class ArticlesGenerator(Generator): write(aut.save_as, author_template, self.context, author=aut, articles=articles, dates=dates, paginated={'articles': articles, 'dates': dates}, - page_name='author/%s' % aut) + page_name=u'author/%s' % aut) for article in self.drafts: write('drafts/%s.html' % article.slug, article_template, self.context, @@ -212,7 +212,6 @@ class ArticlesGenerator(Generator): files = self.get_files(self.path, exclude=['pages',]) all_articles = [] for f in files: - try: content, metadata = read_file(f, settings=self.settings) except Exception, e: