X-Git-Url: https://source.tree.se/git?a=blobdiff_plain;f=treecutter%2Fpage.py;h=53eeb0d40baa357f18c7f76d98404b8ed1206518;hb=870b74488439f6c30974eb759d5032fc06cb8c14;hp=e8367bd8459f6072be89fb475c204acba06ca6a7;hpb=325b2564ca38b2c6ffa17cfb51e3237872feda98;p=treecutter.git diff --git a/treecutter/page.py b/treecutter/page.py index e8367bd..53eeb0d 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 @@ -125,11 +127,11 @@ class Page(): tfi.write(etree.tostring(self._doc,encoding='UTF-8',pretty_print=False)) tfi.close() # cmd = ["saxon-xslt-xinclude","-o",outfile,infile,style_xslt] - cmd = ["xsltproc","--xinclude","--output",outfile,style+"docbook.xsl",infile] + cmd = ["xsltproc","--xinclude","--output",outfile,style+"docbook.xhtml5.xsl",infile] 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()