fix parser: parse function args and kwargs before eval function

This commit is contained in:
debugtalk
2020-04-21 11:59:55 +08:00
parent d6afc0fbb7
commit efeafa4f0a

View File

@@ -234,7 +234,10 @@ def parse_string(
function_meta = parse_function_params(func_params_str)
args = function_meta["args"]
kwargs = function_meta["kwargs"]
func_eval_value = func(*args, **kwargs)
parsed_args = parse_data(args, variables_mapping, functions_mapping)
parsed_kwargs = parse_data(kwargs, variables_mapping, functions_mapping)
func_eval_value = func(*parsed_args, **parsed_kwargs)
func_raw_str = "${" + func_name + f"({func_params_str})" + "}"
if func_raw_str == raw_string: