MCPcopy Create free account
hub / github.com/StackStorm/st2 / get_args

Function get_args

st2common/st2common/util/action_db.py:356–387  ·  view source on GitHub ↗

Get and serialize positional and named arguments. :return: (positional_args, named_args) :rtype: (``str``, ``dict``)

(action_parameters, action_db)

Source from the content-addressed store, hash-verified

354
355
356def get_args(action_parameters, action_db):
357 """
358
359 Get and serialize positional and named arguments.
360
361 :return: (positional_args, named_args)
362 :rtype: (``str``, ``dict``)
363 """
364 position_args_dict = _get_position_arg_dict(action_parameters, action_db)
365
366 action_db_parameters = action_db.parameters or {}
367
368 positional_args = []
369 positional_args_keys = set()
370 for _, arg in six.iteritems(position_args_dict):
371 arg_type = action_db_parameters.get(arg, {}).get("type", None)
372
373 # Perform serialization for positional arguments
374 arg_value = action_parameters.get(arg, None)
375 arg_value = serialize_positional_argument(
376 argument_type=arg_type, argument_value=arg_value
377 )
378
379 positional_args.append(arg_value)
380 positional_args_keys.add(arg)
381
382 named_args = {}
383 for param in action_parameters:
384 if param not in positional_args_keys:
385 named_args[param] = action_parameters.get(param)
386
387 return positional_args, named_args
388
389
390def _get_position_arg_dict(action_parameters, action_db):

Callers

nothing calls this directly

Calls 4

_get_position_arg_dictFunction · 0.85
getMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected