diff --git a/secretary.py b/secretary.py index d2ce915..b586869 100644 --- a/secretary.py +++ b/secretary.py @@ -22,6 +22,7 @@ import re import sys import logging import zipfile +from collections import OrderedDict from xml.dom.minidom import parseString from jinja2 import Environment, Undefined @@ -287,6 +288,9 @@ class Renderer(object): def _unescape_entities(self, xml_text): # unescape XML entities gt and lt + if sys.version_info >= (2, 7): + unescape_rules = OrderedDict() + unescape_rules = { r'(?is)({[{|%].*)(>)(.*[%|}]})': r'\1>\3', r'(?is)({[{|%].*)(<)(.*[%|}]})': r'\1<\3', @@ -299,6 +303,9 @@ class Renderer(object): return xml_text def _encode_escape_chars(self, xml_text): + if sys.version_info >= (2, 7): + encode_rules = OrderedDict() + encode_rules = { '(?i)(.*)(\n)(.*)': r'\1\3', '(?i)(.*)(\u0009)(.*)': r'\1\3',