def parse(self, parser):
lineno = next(parser.stream).lineno
args = [parser.parse_expression()] # ??????,?? timeout
if parser.stream.skip_if('comma'):
args.append(parser.parse_expression())
else:
args.append(nodes.Const('%s%s' % (parser.filename, lineno)))
vary_on = []
while parser.stream.skip_if('comma'):
vary_on.append(parser.parse_expression())
if vary_on:
args.append(nodes.List(vary_on))
else:
args.append(nodes.Const([]))
body = parser.parse_statements(['name:endcache'], drop_needle=True)
return nodes.CallBlock(self.call_method('_cache', args), [], [], body).set_lineno(lineno)
评论列表
文章目录