comparison markup/eval.py @ 225:0edf663b97d6

support slices in expressions (fixes #51)
author mgood
date Thu, 07 Sep 2006 20:40:56 +0000
parents 6addf7af09f6
children 98b8e1a92df8
comparison
equal deleted inserted replaced
224:e4dad1145f84 225:0edf663b97d6
347 def visitGenExprInner(self, node, *args, **kwargs): 347 def visitGenExprInner(self, node, *args, **kwargs):
348 node.expr = self.visit(node.expr, locals_=True, *args, **kwargs) 348 node.expr = self.visit(node.expr, locals_=True, *args, **kwargs)
349 node.quals = map(lambda x: self.visit(x, *args, **kwargs), node.quals) 349 node.quals = map(lambda x: self.visit(x, *args, **kwargs), node.quals)
350 return node 350 return node
351 351
352 def visitSlice(self, node, *args, **kwargs):
353 node.expr = self.visit(node.expr, locals_=True, *args, **kwargs)
354 if node.lower is not None:
355 node.lower = self.visit(node.lower, *args, **kwargs)
356 if node.upper is not None:
357 node.upper = self.visit(node.upper, *args, **kwargs)
358 return node
359
360 def visitSliceobj(self, node, *args, **kwargs):
361 node.nodes = map(lambda x: self.visit(x, *args, **kwargs), node.nodes)
362 return node
363
352 364
353 class ExpressionASTTransformer(ASTTransformer): 365 class ExpressionASTTransformer(ASTTransformer):
354 """Concrete AST transformer that implements the AST transformations needed 366 """Concrete AST transformer that implements the AST transformations needed
355 for template expressions. 367 for template expressions.
356 """ 368 """
Copyright (C) 2012-2017 Edgewall Software