From 5f21feb72d401b78bd526e941a7f3ee5b2eb1016 Mon Sep 17 00:00:00 2001 From: Eric Lapouyade Date: Thu, 14 Jul 2022 15:06:21 +0200 Subject: [PATCH] fix #444 --- docxtpl/__init__.py | 2 +- docxtpl/template.py | 2 +- tests/templates/merge_paragraph_tpl.docx | Bin 12150 -> 8610 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docxtpl/__init__.py b/docxtpl/__init__.py index 0515507..5836b8d 100644 --- a/docxtpl/__init__.py +++ b/docxtpl/__init__.py @@ -4,7 +4,7 @@ Created : 2015-03-12 @author: Eric Lapouyade """ -__version__ = '0.16.1' +__version__ = '0.16.2' # flake8: noqa from .inline_image import InlineImage diff --git a/docxtpl/template.py b/docxtpl/template.py index b23a454..0fe8bc8 100644 --- a/docxtpl/template.py +++ b/docxtpl/template.py @@ -126,7 +126,7 @@ class DocxTemplate(object): # {%- will merge with previous paragraph text src_xml = re.sub(r'(?:(?!).)*?{%-', '{%', src_xml, flags=re.DOTALL) # -%} will merge with next paragraph text - src_xml = re.sub(r'-%}(?:(?!]).)*?]*?>', '%}', src_xml, flags=re.DOTALL) + src_xml = re.sub(r'-%}(?:(?!]|{%|{{).)*?]*?>', '%}', src_xml, flags=re.DOTALL) for y in ['tr', 'tc', 'p', 'r']: # replace into xml code the row/paragraph/run containing diff --git a/tests/templates/merge_paragraph_tpl.docx b/tests/templates/merge_paragraph_tpl.docx index 9d5e38893edf0269971cd513e5a92621d9c16514..3cd0def0f1fb7108ff4d94df61391c372b58c568 100644 GIT binary patch literal 8610 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 B*F69L literal 12150 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