diff --git a/secretary.py b/secretary.py
index bab6dcf..d72d716 100644
--- a/secretary.py
+++ b/secretary.py
@@ -199,11 +199,11 @@ class Renderer(object):
field_content = field.childNodes[0].data.strip()
- if not re.findall(r'^{[{|%].*[%|}]}$', field_content, re.DOTALL):
+ if not re.findall(r'(?is)^{[{|%].*[%|}]}$', field_content):
# Field does not contains jinja template tags
continue
- is_block_tag = re.findall(r'^{%[^{}]*%}$', field_content, re.DOTALL)
+ is_block_tag = re.findall(r'(?is)^{%[^{}]*%}$', field_content)
self.inc_node_fields_count(field.parentNode,
'block' if is_block_tag else 'variable')
@@ -214,11 +214,11 @@ class Renderer(object):
field_content = field.childNodes[0].data.strip()
- if not re.findall(r'^{[{|%].*[%|}]}$', field_content, re.DOTALL):
+ if not re.findall(r'(?is)^{[{|%].*[%|}]}$', field_content):
# Field does not contains jinja template tags
continue
- is_block_tag = re.findall(r'^{%[^{}]*%}$', field_content, re.DOTALL)
+ is_block_tag = re.findall(r'(?is)^{%[^{}]*%}$', field_content)
discard = field
field_reference = field.getAttribute('text:description').strip().lower()
@@ -270,25 +270,25 @@ class Renderer(object):
def _unescape_entities(self, xml_text):
# unescape XML entities gt and lt
unescape_rules = {
- r'({[{|%].*)(>)(.*[%|}]})': r'\1>\3',
- r'({[{|%].*)(<)(.*[%|}]})': r'\1<\3',
- r'({[{|%].*)(<.?text:s.?>)(.*[%|}]})': r'\1 \3',
+ r'(?is)({[{|%].*)(>)(.*[%|}]})': r'\1>\3',
+ r'(?is)({[{|%].*)(<)(.*[%|}]})': r'\1<\3',
+ r'(?is)({[{|%].*)(<.?text:s.?>)(.*[%|}]})': r'\1 \3',
}
for p, r in unescape_rules.items():
- xml_text = re.sub(p, r, xml_text, flags=re.IGNORECASE or re.DOTALL)
+ xml_text = re.sub(p, r, xml_text)
return xml_text
def _encode_escape_chars(self, xml_text):
encode_rules = {
- '(.*)(\n)(.*)': r'\1\3',
- '(.*)(\u0009)(.*)': r'\1\3',
- '[\u0009|\u000d|\u000a]': r''
+ '(?i)(.*)(\n)(.*)': r'\1\3',
+ '(?i)(.*)(\u0009)(.*)': r'\1\3',
+ '(?i)[\u0009|\u000d|\u000a]': r''
}
for p, r in encode_rules.items():
- xml_text = re.sub(p, r, xml_text, flags=re.IGNORECASE)
+ xml_text = re.sub(p, r, xml_text)
return xml_text