aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mako/ast.py
diff options
context:
space:
mode:
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