create_wrapper_def_and_call: add support for keyword args
Change-Id: I73f37d083839ccae253ea3e935feded747e36b18
Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
diff --git a/lib/wrap_utils.py b/lib/wrap_utils.py
index d7e67c0..b51844b 100755
--- a/lib/wrap_utils.py
+++ b/lib/wrap_utils.py
@@ -70,6 +70,11 @@
var_args = []
else:
var_args = ["*" + var_args]
+ keyword_args = base_arg_spec[2]
+ if keyword_args is None:
+ keyword_args = []
+ else:
+ keyword_args = ["**" + keyword_args]
if base_arg_spec[3] is None:
base_default_list = []
else:
@@ -92,13 +97,14 @@
else:
default_string = str(base_default_list[base_default_ix])
base_arg_default_list[ix] += "=" + default_string
- base_arg_default_string = ', '.join(base_arg_default_list + var_args)
+ base_arg_default_string =\
+ ', '.join(base_arg_default_list + var_args + keyword_args)
# Create the argument string which can be used to call the base function.
# Example call_arg_string:
# headers=headers, last=last, first=first
call_arg_string = ', '.join([val + "=" + val for val in base_arg_list]
- + var_args)
+ + var_args + keyword_args)
# Compose the result values.
func_def_line = "def " + wrap_func_name + "(" + base_arg_default_string +\