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',