def _get_params_and_artifacts_from_args(args, input_param_name, prefix):
    parameters = []
    artifacts = []
    if (not isinstance(args, list)):
        args = [args]
    i = 0
    for arg in args:
        values = couler.core.templates.output.parse_argo_output(arg, prefix)
        if isinstance(values, list):
            for value in values:
                parameters.append({'name': utils.input_parameter_name(input_param_name, i), 'value': value})
                i += 1
        else:
            if isinstance(arg, OutputArtifact):
                artifact_dict = {'name': '.'.join(arg.value.split('.')[5:]), 'from': values}
                if (not any([(artifact_dict['from'] == x['from']) for x in artifacts])):
                    artifacts.append(artifact_dict)
            else:
                parameters.append({'name': utils.input_parameter_name(input_param_name, i), 'value': values})
            i += 1
    return (parameters, artifacts)
def _get_params_and_artifacts_from_args(args, input_param_name, prefix):
    parameters = []
    artifacts = []
    if (not isinstance(args, list)):
        args = [args]
    i = 0
    for arg in args:
        values = couler.core.templates.output.parse_argo_output(arg, prefix)
        if isinstance(values, list):
            for value in values:
                parameters.append({'name': utils.input_parameter_name(input_param_name, i), 'value': value})
                i += 1
        else:
            if isinstance(arg, OutputArtifact):
                artifact_dict = {'name': '.'.join(arg.value.split('.')[5:]), 'from': values}
                if (not any([(artifact_dict['from'] == x['from']) for x in artifacts])):
                    artifacts.append(artifact_dict)
            else:
                parameters.append({'name': utils.input_parameter_name(input_param_name, i), 'value': values})
            i += 1
    return (parameters, artifacts)