From 2f553604ab17b180bf00322293542e775e0f0238 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 9 May 2008 15:37:30 -0700 Subject: [PATCH] IGN: Use unicode templates in Genshi --- src/calibre/web/feeds/templates.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/calibre/web/feeds/templates.py b/src/calibre/web/feeds/templates.py index 419e7549a9..519a06069e 100644 --- a/src/calibre/web/feeds/templates.py +++ b/src/calibre/web/feeds/templates.py @@ -7,7 +7,7 @@ from genshi.template import MarkupTemplate class Template(MarkupTemplate): - STYLE = '''\ + STYLE = u'''\ .article_date { font-size: x-small; color: gray; font-family: monospace; } @@ -29,12 +29,19 @@ class Template(MarkupTemplate): def generate(self, *args, **kwargs): if not kwargs.has_key('style'): kwargs['style'] = self.STYLE + for key in kwargs.keys(): + if isinstance(kwargs[key], basestring) and not isinstance(kwargs[key], unicode): + kwargs[key] = unicode(kwargs[key], 'utf-8', 'replace') + for arg in args: + if isinstance(arg, basestring) and not isinstance(arg, unicode): + arg = unicode(arg, 'utf-8', 'replace') + return MarkupTemplate.generate(self, *args, **kwargs) class NavBarTemplate(Template): def __init__(self): - Template.__init__(self, '''\ + Template.__init__(self, u'''\