X-Git-Url: https://source.tree.se/git?p=treecutter.git;a=blobdiff_plain;f=treecutter%2Fpage.py;h=ae056523be9ed2b1cca774c37f8cc96c31c5d012;hp=e8367bd8459f6072be89fb475c204acba06ca6a7;hb=521ca183bb031c954d2f014f12d4f483e9d2cbbd;hpb=a0a4fb1d0a08072c8567cf35d6af93f9f1f66431 diff --git a/treecutter/page.py b/treecutter/page.py index e8367bd..ae05652 100644 --- a/treecutter/page.py +++ b/treecutter/page.py @@ -5,8 +5,10 @@ import tempfile import re import getpass import gnupg +import codecs from lxml import etree -from Cheetah.Template import Template +#from jinja2 import Template +import jinja2 from pkg_resources import resource_filename, resource_listdir from time import time import treecutter.constants as const @@ -129,7 +131,7 @@ class Page(): retcode = subprocess.call(cmd) if retcode: print 'Error: '+' '.join(cmd)+' Returncode ['+str(retcode)+']' - tfo = open(outfile,'r') + tfo = codecs.open(outfile, "r", "utf-8") self._rendered_article = tfo.read() tfo.close() os.remove(infile) @@ -140,14 +142,23 @@ class Page(): htmlmenu = sitemap.gen_menu(self._lang,None,"menu") levelmenu = sitemap.gen_menu(self._lang,self,"tree") langmenu = sitemap.lang_menu(self._lang,self._link) - template = Template(file=style+'index.'+self._lang+'.html.tmpl', - searchList=[{'title':self._title}, - {'menu':htmlmenu}, - {'article':self._rendered_article}, - {'levelmenu':levelmenu}, - {'langmenu':langmenu}]) - outfile = tdir+'html'.join(self._file.rsplit('xml',1)) + article = self._rendered_article + templateLoader = jinja2.FileSystemLoader( searchpath="/" ) + templateEnv = jinja2.Environment( loader=templateLoader ) + + templateVars = {'title':self._title, + 'menu':htmlmenu, + 'article':article, + 'levelmenu':levelmenu, + 'langmen':langmenu} + + s = unicode(style, "utf-8") + t = s+'index.'+self._lang+'.xhtml.tmpl' + template = templateEnv.get_template( t ) + templateout = template.render( templateVars ) + + outfile = tdir+'xhtml'.join(self._file.rsplit('xml',1)) mkdir_p(os.path.dirname(outfile)) - out = open(outfile, 'w') - out.write(str(template)) + out = codecs.open(outfile, 'w', 'utf-8') + out.write(templateout) out.close()