if block_name == 'block':\r
return parse_block_block(ast)\r
\r
+ if block_name == 'call':\r
+ return parse_block_call(ast)\r
+\r
if block_name == 'for':\r
return parse_block_for(ast)\r
\r
lineno=lineno_from_parseinfo(ast['parseinfo'])\r
)\r
\r
+def parse_block_call(ast):\r
+ parameters = ast['start']['parameters']\r
+\r
+ call = parse_variable(parameters[-1]['value'])\r
+ args = []\r
+ defaults = []\r
+ body = parse(ast['contents'])\r
+\r
+ for arg in parameters[:-1]:\r
+ args.append(parse_variable(arg['value'], variable_context='param'))\r
+\r
+ return nodes.CallBlock(\r
+ call,\r
+ args,\r
+ defaults,\r
+ body,\r
+ lineno=lineno_from_parseinfo(ast['parseinfo'])\r
+ )\r
+\r
def parse_block_extends(ast):\r
return nodes.Extends(\r
parse_conditional_expression(ast['block']['parameters'][0]['value'])\r
{{ item }}\r
{% else %}\r
did not iterate\r
-{% endfor %}
\ No newline at end of file
+{% endfor %}\r
+{% call(user) dump_users(list_of_user) %}\r
+ <dl>\r
+ <dl>Realname</dl>\r
+ <dd>{{ user.realname|e }}</dd>\r
+ <dl>Description</dl>\r
+ <dd>{{ user.description }}</dd>\r
+ </dl>\r
+{% endcall %}\r