diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-01-24 18:30:33 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-01-24 18:30:33 +0000 |
commit | d608134d938280cb2669f4811ce051ff2572c896 (patch) | |
tree | 1f71d05cecb2849178f05b3802ecfb0600ad0111 /lib/mako/ast.py | |
parent | ac7e9dd9e46937243e97d67e8c1b581310b41341 (diff) | |
download | external_python_mako-d608134d938280cb2669f4811ce051ff2572c896.tar.gz external_python_mako-d608134d938280cb2669f4811ce051ff2572c896.tar.bz2 external_python_mako-d608134d938280cb2669f4811ce051ff2572c896.zip |
some expression generator things missing, fixes [ticket:18]
Diffstat (limited to 'lib/mako/ast.py')
-rw-r--r-- | lib/mako/ast.py | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/lib/mako/ast.py b/lib/mako/ast.py index c07cd81..a17969b 100644 --- a/lib/mako/ast.py +++ b/lib/mako/ast.py @@ -230,13 +230,32 @@ class ExpressionGenerator(object): if node.upper is not None: self.visit(node.upper) self.buf.write("]") + def visitDict(self, node): + self.buf.write("{") + c = node.getChildren() + for i in range(0, len(c), 2): + self.visit(c[i]) + self.buf.write(": ") + self.visit(c[i+1]) + if i<len(c) -2: + self.buf.write(", ") + self.buf.write("}") + def visitList(self, node): + self.buf.write("[") + c = node.getChildren() + for i in range(0, len(c)): + self.visit(c[i]) + if i<len(c) - 1: + self.buf.write(", ") + self.buf.write("]") def visitCallFunc(self, node, *args): self.visit(node.node) self.buf.write("(") - self.visit(node.args[0]) - for a in node.args[1:]: - self.buf.write(", ") - self.visit(a) + if len(node.args): + self.visit(node.args[0]) + for a in node.args[1:]: + self.buf.write(", ") + self.visit(a) self.buf.write(")")
\ No newline at end of file |