From f599a5d3eef41fee6d4c83ef1dcf37c00b7ce909 Mon Sep 17 00:00:00 2001 From: Eric Lapouyade Date: Tue, 1 Mar 2016 15:26:53 +0100 Subject: [PATCH] fix '>' '<' in jinja tags --- CHANGES.rst | 4 ++++ docxtpl/__init__.py | 6 ++++-- tests/test_files/cellbg.docx | Bin 8195 -> 8195 bytes tests/test_files/order.docx | Bin 9339 -> 9339 bytes tests/test_files/richtext.docx | Bin 8890 -> 8890 bytes tests/test_files/subdoc.docx | Bin 56272 -> 56272 bytes 6 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index a86cdd5..701b9ef 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,3 +1,7 @@ +0.1.11 (2016-3-1) +----------------- +- '>' and '<' can now be used inside jinja tags + 0.1.10 (2016-2-11) ------------------ - render() accepts optionnal jinja_env argument : diff --git a/docxtpl/__init__.py b/docxtpl/__init__.py index 9facb27..2c55277 100644 --- a/docxtpl/__init__.py +++ b/docxtpl/__init__.py @@ -5,7 +5,7 @@ Created : 2015-03-12 @author: Eric Lapouyade ''' -__version__ = '0.1.10' +__version__ = '0.1.11' from lxml import etree from docx import Document @@ -55,7 +55,9 @@ class DocxTemplate(object): pat = r'](?:(?!]).)*({%%|{{)%(y)s ([^}%%]*(?:%%}|}})).*?' % {'y':y} src_xml = re.sub(pat, r'\1 \2',src_xml,flags=re.DOTALL) - src_xml = src_xml.replace(r"‘","'") + def clean_tags(m): + return m.group(0).replace(r"‘","'").replace('<','<').replace('>','>') + src_xml = re.sub(r'(?<=\{[\{%])([^\}%]*)(?=[\}%]})',clean_tags,src_xml) return src_xml diff --git a/tests/test_files/cellbg.docx b/tests/test_files/cellbg.docx index 606cee7fcd3ece017c3e7ecd41c99ef0ca058e2e..5a9230343429d72f2d9a536e2d5025276ebf3343 100644 GIT binary patch delta 199 zcmZp6Xm;QY@MdNaVPIh3VCb$&+{oL^$PA=6PiEwYFqSecgfKi=iXe=AtWhjrHPT$F z5D{nYZ>(Su8^PINk;%7&9)krA2>)gRGxmv9v4I$qt!3@Nbd9VTnBFRD4W>WK+JI>z hIS5@S=MLuYmU95p|Kx1Jw4J;?m~N1VsM{~^0sx?kMK1sV delta 199 zcmZp6Xm;QY@MdNaVPIh3VE9$xy^*(>kr_yDp3KM(VJu}@2w`}#6hRpKSfg0LYNWYT zAtKJ)-&nySHiEOkB9m_kJq8OL5dO^sX6zHIVgoTITg%#k=^9xxFuhgQ8cctdwE@#c hauB*u&K=C(E$0BH|H;{cX*+p)Fx?;zQMX^-1pr_YOsN0> diff --git a/tests/test_files/order.docx b/tests/test_files/order.docx index afba0a7f1f9debdf2249e74fa791e185018302e3..5c6d7fde5dc2ac6432dca7374753c454fd0f9e75 100644 GIT binary patch delta 199 zcmezE@!Nwpz?+#xgn@y9gQ2e~aU*XtBQucRJeiRn!dS}0$^;f!%TfRlQDB?K0v6fH zr3w*w$o-8KEOJY5HdthGh45prK%B@Ai0(-7a4wL@j3l^FDR`@Yk;IfDYGnnyD{3APvG5M3c9hf#&Fay&$3f5qHm4XeJ hehH;D6y3r6B1H!n1SgW1#2+9O2Gz9 hzl72nitb>3k)i{b-l}K|roSrMgK2Xmi25=m7XbDTH{}2T diff --git a/tests/test_files/subdoc.docx b/tests/test_files/subdoc.docx index 2466f8aee1483ea97e820deeb0c37169c21cd125..600e27d77146029fc1e6a575a409156fd1efd411 100644 GIT binary patch delta 218 zcmcbxo%zCcX5IjAW)=|!1_lm>sa1&^d3zX{f%N7%jQkMBI;O=CMhHtOgmH#-DLYtA z39mU+4d2tPV3BD@zOjNC{ipVVr6&8Ic?=dXJ*&?QW~5(;<^VA!AH87*rrB$&X$0NIFH&;S4c delta 218 zcmcbxo%zCcX5IjAW)=|!1_llW_Db)KygiJ}Kzj2WMt%rm9n)e6BZQ?C!Z^dalpU<5 zgx4IZhVSWCu*kF{-&nzn{!@FwQj`79JO&Gxp4DdtGtw_abAT9=kKV8Y(`+}*z_k5M sYcO4V(*{iMfzrQkx`X+yw;aH92b4a2%NES%zHJYteQ!hb_1ty=0JhIcSO5S3