accessor_node = nodes.Getattr()\r
accessor_node.attr = ast['parameter']\r
elif accessor_type == 'call':\r
- accessor_node = nodes.Call()\r
- accessor_node.args = []\r
- accessor_node.kwargs = []\r
+ accessor_node = parse_variable_accessor_call(ast)\r
\r
accessor_node.node = node\r
accessor_node.ctx = "load"\r
\r
return accessor_node\r
\r
+def parse_variable_accessor_call(ast):\r
+ args = []\r
+ kwargs = []\r
+ dynamic_args = None\r
+ dynamic_kwargs = None\r
+\r
+ if ast['parameters']:\r
+ for argument in ast['parameters']:\r
+ value = parse_variable(argument['value'])\r
+\r
+ if 'key' in argument:\r
+ kwargs.append(\r
+ nodes.Keyword(argument['key'], value)\r
+ )\r
+ else:\r
+ args.append(value)\r
+\r
+ node = nodes.Call()\r
+ node.args = args\r
+ node.kwargs = kwargs\r
+ node.dyn_args = dynamic_args\r
+ node.dyn_kwargs = dynamic_kwargs\r
+\r
+ return node\r
+\r
def parse_variable_filter(node, ast):\r
args = []\r
kwargs = []\r