diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-12-31 23:12:08 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-12-31 23:12:08 +0000 |
commit | 7525e89e7e0b5b2fe6fe2bdec81cce31b678a976 (patch) | |
tree | 812965025dfdf031a57518cd368907674fd4803d /lib/mako/codegen.py | |
parent | 34cf1313951ab718d8d3a214dfc18de64b2c9d8d (diff) | |
download | external_python_mako-7525e89e7e0b5b2fe6fe2bdec81cce31b678a976.tar.gz external_python_mako-7525e89e7e0b5b2fe6fe2bdec81cce31b678a976.tar.bz2 external_python_mako-7525e89e7e0b5b2fe6fe2bdec81cce31b678a976.zip |
- added "encoding()" filter; this allows a filter expression to specify the encoding and error
handling for the given expression.
usage is like: ${data | encoding('utf-8', errors='strict')}
Diffstat (limited to 'lib/mako/codegen.py')
-rw-r--r-- | lib/mako/codegen.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/mako/codegen.py b/lib/mako/codegen.py index f4f5350..a0bc70a 100644 --- a/lib/mako/codegen.py +++ b/lib/mako/codegen.py @@ -377,7 +377,14 @@ class _GenerateRenderMethod(object): if self.compiler.pagetag: args += self.compiler.pagetag.filter_args.args for e in args: - e = d.get(e, e) + # if filter given as a function, get just the identifier portion + m = re.match(r'(.+?)(\(.*\))', e) + if m: + (ident, fargs) = m.group(1,2) + f = d.get(ident, ident) + e = f + fargs + else: + e = d.get(e, e) target = "%s(%s)" % (e, target) return target |