Mercurial > piecrust2
comparison piecrust/templating/jinjaengine.py @ 446:4cdf6c2157a0
bug: Fix infinite loop in Jinja2 rendering.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Thu, 02 Jul 2015 23:28:24 -0700 |
parents | d8d86debea81 |
children | 96d363e2da4b |
comparison
equal
deleted
inserted
replaced
445:d8d86debea81 | 446:4cdf6c2157a0 |
---|---|
34 self.env = None | 34 self.env = None |
35 | 35 |
36 def renderString(self, txt, data, filename=None): | 36 def renderString(self, txt, data, filename=None): |
37 self._ensureLoaded() | 37 self._ensureLoaded() |
38 | 38 |
39 offset = 0 | |
40 do_render = False | 39 do_render = False |
41 index = txt.find('{') | 40 index = txt.find('{') |
42 while index >= 0: | 41 while index >= 0: |
43 ch = txt[index + 1] | 42 ch = txt[index + 1] |
44 if ch == '{' or ch == '%': | 43 if ch == '{' or ch == '%': |
45 do_render = True | 44 do_render = True |
46 break | 45 break |
47 index = txt.find('{', offset + 1) | 46 index = txt.find('{', index + 1) |
48 | 47 |
49 if not do_render: | 48 if not do_render: |
50 return txt | 49 return txt |
51 | 50 |
52 try: | 51 try: |