aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mako/ast.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2007-01-24 18:30:33 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2007-01-24 18:30:33 +0000
commitd608134d938280cb2669f4811ce051ff2572c896 (patch)
tree1f71d05cecb2849178f05b3802ecfb0600ad0111 /lib/mako/ast.py
parentac7e9dd9e46937243e97d67e8c1b581310b41341 (diff)
downloadexternal_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.py27
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