Now we can use > or < in conditional since secretary now unescape XML entities.

This commit is contained in:
Christopher Ramírez 2014-06-16 10:54:38 -06:00
parent 0c9e25b0d9
commit 9b10c9083a

View file

@ -38,6 +38,7 @@ import re
import sys import sys
import zipfile import zipfile
import io import io
from HTMLParser import HTMLParser
from xml.dom.minidom import parseString from xml.dom.minidom import parseString
from jinja2 import Environment, Undefined from jinja2 import Environment, Undefined
@ -181,12 +182,12 @@ class Render(object):
returns the rendered ODF document. returns the rendered ODF document.
""" """
html_parser = HTMLParser()
self.unpack_template() self.unpack_template()
# Render content.xml # Render content.xml
self.prepare_template_tags(self.content) self.prepare_template_tags(self.content)
# print(self.content.toprettyxml()) template = self.environment.from_string(html_parser.unescape(self.content.toxml()))
template = self.environment.from_string(self.content.toxml())
result = template.render(**kwargs) result = template.render(**kwargs)
result = result.replace('\n', '<text:line-break/>') result = result.replace('\n', '<text:line-break/>')
@ -200,7 +201,7 @@ class Render(object):
# Render style.xml # Render style.xml
self.prepare_template_tags(self.styles) self.prepare_template_tags(self.styles)
template = self.environment.from_string(self.styles.toxml()) template = self.environment.from_string(html_parser.unescape(self.styles.toxml()))
result = template.render(**kwargs) result = template.render(**kwargs)
result = result.replace('\n', '<text:line-break/>') result = result.replace('\n', '<text:line-break/>')
self.styles = parseString(result.encode('ascii', 'xmlcharrefreplace')) self.styles = parseString(result.encode('ascii', 'xmlcharrefreplace'))