return None\r
\r
def parse_block(ast):\r
- if ast['block']['name'] == 'from':\r
+ block_name = ast['block']['name']\r
+\r
+ if block_name == 'from':\r
return parse_block_from(ast)\r
\r
return None\r
def parse_block_pair(ast):\r
block_name = ast['start']['name']\r
\r
- if block_name == 'with':\r
- return parse_block_with(ast)\r
+ if block_name == 'block':\r
+ return parse_block_block(ast)\r
\r
if block_name == 'for':\r
return parse_block_for(ast)\r
\r
+ if block_name == 'with':\r
+ return parse_block_with(ast)\r
+\r
return None\r
\r
+def parse_block_block(ast):\r
+ name = parse_variable(ast['start']['parameters'][0]['value']).name\r
+ scoped = False\r
+\r
+ return nodes.Block(\r
+ name,\r
+ parse(ast['contents']),\r
+ scoped,\r
+ lineno=lineno_from_parseinfo(ast['parseinfo'])\r
+ )\r
+\r
def parse_block_for(ast):\r
target = None\r
iter = None\r