From 9b10c9083ab4ad81e5c6bd18005bb85469a0ab10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christopher=20Ram=C3=ADrez?= Date: Mon, 16 Jun 2014 10:54:38 -0600 Subject: [PATCH] Now we can use > or < in conditional since secretary now unescape XML entities. --- secretary.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/secretary.py b/secretary.py index f734588..aa3bf88 100644 --- a/secretary.py +++ b/secretary.py @@ -38,6 +38,7 @@ import re import sys import zipfile import io +from HTMLParser import HTMLParser from xml.dom.minidom import parseString from jinja2 import Environment, Undefined @@ -181,12 +182,12 @@ class Render(object): returns the rendered ODF document. """ + html_parser = HTMLParser() self.unpack_template() # Render content.xml self.prepare_template_tags(self.content) - # print(self.content.toprettyxml()) - template = self.environment.from_string(self.content.toxml()) + template = self.environment.from_string(html_parser.unescape(self.content.toxml())) result = template.render(**kwargs) result = result.replace('\n', '') @@ -200,7 +201,7 @@ class Render(object): # Render style.xml 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 = result.replace('\n', '') self.styles = parseString(result.encode('ascii', 'xmlcharrefreplace')) @@ -332,7 +333,7 @@ class Render(object): # Avoid removing whole container, just original text:p parent field = self.node_parents(keep_field, 'text:p') parent = field.parentNode - + parent.removeChild(field)