if 'variable' in ast:\r
return parse_variable(ast)\r
\r
- if 'operator' in ast:\r
- return parse_conditional_expression_operator(ast)\r
-\r
if 'concatenate' in ast:\r
return parse_concatenate_expression(ast)\r
\r
- if 'test_expression' in ast:\r
- return parse_conditional_expression_if(ast)\r
-\r
if 'logical_operator' in ast:\r
return parse_conditional_expression_logical(ast)\r
\r
+ if 'not' in ast:\r
+ return parse_conditional_expression_not(ast)\r
+\r
+ if 'operator' in ast:\r
+ return parse_conditional_expression_operator(ast)\r
+\r
+ if 'test_expression' in ast:\r
+ return parse_conditional_expression_if(ast)\r
+\r
if 'test_function' in ast:\r
return parse_conditional_expression_test(ast)\r
\r
return None\r
\r
-def parse_conditional_expression_operator(ast):\r
- operand_map = {\r
- '>': 'gt',\r
- '>=': 'gteq',\r
- '==': 'eq',\r
- '!=': 'ne',\r
- '<': 'lt',\r
- '<=': 'lteq',\r
- }\r
-\r
- return nodes.Compare(\r
- parse_variable(ast['left']),\r
- [\r
- nodes.Operand(\r
- operand_map.get(ast['operator'], ast['operator']),\r
- parse_variable(ast['right'])\r
- )\r
- ],\r
- lineno=lineno_from_parseinfo(ast['parseinfo'])\r
- )\r
-\r
def parse_conditional_expression_if(ast):\r
test = parse_conditional_expression(ast['test_expression'])\r
expr1 = parse_variable(ast['true_value'])\r
lineno=lineno_from_parseinfo(ast['parseinfo'])\r
)\r
\r
+def parse_conditional_expression_not(ast):\r
+ return nodes.Not(\r
+ parse_conditional_expression(ast['not']),\r
+ lineno=lineno_from_parseinfo(ast['parseinfo'])\r
+ )\r
+\r
+def parse_conditional_expression_operator(ast):\r
+ operand_map = {\r
+ '>': 'gt',\r
+ '>=': 'gteq',\r
+ '==': 'eq',\r
+ '!=': 'ne',\r
+ '<': 'lt',\r
+ '<=': 'lteq',\r
+ }\r
+\r
+ return nodes.Compare(\r
+ parse_variable(ast['left']),\r
+ [\r
+ nodes.Operand(\r
+ operand_map.get(ast['operator'], ast['operator']),\r
+ parse_variable(ast['right'])\r
+ )\r
+ ],\r
+ lineno=lineno_from_parseinfo(ast['parseinfo'])\r
+ )\r
+\r
def parse_conditional_expression_test(ast):\r
node = parse_variable(ast['test_variable'])\r
test_function = parse_variable(ast['test_function'])\r