You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is there a way to list things for jinja2schema to ignore as it goes through the AST?
I was able to get it working if I hacked in
@visits_expr(nodes.Call)
def visit_call(ast, ctx, macroses=None, config=default_config):
// my code to short circuit evaluating the node
if ast.node.node.name in ('loop'):
return Unknown(), Unknown()
in jinja2schema/visitors/expr.py
Stacktrace
return infer(template_source, config=Config(PACKAGE_NAME='documents', TEMPLATE_DIR=settings.TEMPLATE_PATH))
File "/home/user/local/lib/python3.4/site-packages/jinja2schema/core.py", line 66, in infer
return infer_from_ast(parse(template), config=config, ignore_constants=True)
File "/home/user/local/lib/python3.4/site-packages/jinja2schema/core.py", line 49, in infer_from_ast
rv = visit(ast, {}, config)
File "/home/user/local/lib/python3.4/site-packages/jinja2schema/visitors/util.py", line 19, in visit
structure = visit_many(node.body, macroses, config)
File "/home/user/local/lib/python3.4/site-packages/jinja2schema/visitors/util.py", line 36, in visit_many
structure = visit(node, macroses, config, predicted_struct_cls, return_struct_cls)
File "/home/user/local/lib/python3.4/site-packages/jinja2schema/visitors/util.py", line 14, in visit
structure = visit_stmt(node, macroses, config)
File "/home/user/local/lib/python3.4/site-packages/jinja2schema/visitors/stmt.py", line 54, in visit_stmt
return visitor(ast, macroses, config)
File "/home/user/local/lib/python3.4/site-packages/jinja2schema/visitors/stmt.py", line 59, in visit_for
body_struct = visit_many(ast.body, macroses, config, predicted_struct_cls=Scalar)
File "/home/user/local/lib/python3.4/site-packages/jinja2schema/visitors/util.py", line 36, in visit_many
structure = visit(node, macroses, config, predicted_struct_cls, return_struct_cls)
File "/home/user/local/lib/python3.4/site-packages/jinja2schema/visitors/util.py", line 14, in visit
structure = visit_stmt(node, macroses, config)
File "/home/user/local/lib/python3.4/site-packages/jinja2schema/visitors/stmt.py", line 54, in visit_stmt
return visitor(ast, macroses, config)
File "/home/user/local/lib/python3.4/site-packages/jinja2schema/visitors/stmt.py", line 153, in visit_output
return visit_many(ast.nodes, macroses, config, predicted_struct_cls=Scalar)
File "/home/user/local/lib/python3.4/site-packages/jinja2schema/visitors/util.py", line 36, in visit_many
structure = visit(node, macroses, config, predicted_struct_cls, return_struct_cls)
File "/home/user/local/lib/python3.4/site-packages/jinja2schema/visitors/util.py", line 17, in visit
_, structure = visit_expr(node, ctx, macroses, config)
File "/home/user/local/lib/python3.4/site-packages/jinja2schema/visitors/expr.py", line 156, in visit_expr
return visitor(ast, ctx, macroses, config=config)
File "/home/user/local/lib/python3.4/site-packages/jinja2schema/visitors/expr.py", line 402, in visit_call
raise InvalidExpression(ast, '"{0}" call is not supported'.format(ast.node.attr))
jinja2schema.exceptions.InvalidExpression: line 367: "cycle" call is not supported
The text was updated successfully, but these errors were encountered:
Is there a way to list things for
jinja2schema
to ignore as it goes through the AST?I was able to get it working if I hacked in
in
jinja2schema/visitors/expr.py
Stacktrace
The text was updated successfully, but these errors were encountered: