diff options
author | Chris Jerdonek <chris.jerdonek@gmail.com> | 2012-01-01 11:09:34 -0800 |
---|---|---|
committer | Chris Jerdonek <chris.jerdonek@gmail.com> | 2012-01-01 11:09:34 -0800 |
commit | 18d628611b981acf3c9f224e48c111a83dd1234c (patch) | |
tree | de44bacc58fb9c36fa7153eef75575f3c1bf4ec8 /pystache/renderengine.py | |
parent | 7e65bb6df32e30f33244dd6b4cd4e24c1e445a4d (diff) | |
download | pystache-18d628611b981acf3c9f224e48c111a83dd1234c.tar.gz |
Fixed implicit iterators not working.
Diffstat (limited to 'pystache/renderengine.py')
-rw-r--r-- | pystache/renderengine.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/pystache/renderengine.py b/pystache/renderengine.py index b3a9ff6..95d963d 100644 --- a/pystache/renderengine.py +++ b/pystache/renderengine.py @@ -366,7 +366,16 @@ class Template(object): self.template = template def _compile_regexps(self): - tags = {'otag': re.escape(self.otag), 'ctag': re.escape(self.ctag)} + + # The possible tag type characters following the opening tag, + # excluding "=" and "{". + tag_types = "!>&/#^" + + # TODO: are we following this in the spec? + # + # The tag's content MUST be a non-whitespace character sequence + # NOT containing the current closing delimiter. + # tag = r""" (?P<content>[\s\S]*?) (?P<whitespace>[\ \t]*) @@ -374,11 +383,12 @@ class Template(object): (?: (?P<change>=) \s* (?P<delims>.+?) \s* = | (?P<raw>{) \s* (?P<raw_name>.+?) \s* } | - (?P<tag>\W?) \s* (?P<name>[\s\S]+?) + (?P<tag>[%(tag_types)s]?) \s* (?P<name>[\s\S]+?) ) \s* %(ctag)s - """ - self.tag_re = re.compile(tag % tags, re.M | re.X) + """ % {'tag_types': tag_types, 'otag': re.escape(self.otag), 'ctag': re.escape(self.ctag)} + + self.tag_re = re.compile(tag, re.M | re.X) def to_unicode(self, text): return unicode(text) |