in airavata_django_portal_sdk/experiment_util/api.py [0:0]
def _copy_cloned_experiment_input_uris(request, cloned_experiment):
# update the experimentInputs of type URI, copying input files into the
# tmp input files directory of the data store
for experiment_input in cloned_experiment.experimentInputs:
# skip inputs without values
if not experiment_input.value:
continue
if experiment_input.type == DataType.URI:
cloned_data_product = _copy_experiment_input_uri(request,
experiment_input.value)
if cloned_data_product is None:
logger.warning("Setting cloned input {} to null".format(
experiment_input.name))
experiment_input.value = None
else:
experiment_input.value = cloned_data_product.productUri
elif experiment_input.type == DataType.URI_COLLECTION:
data_product_uris = experiment_input.value.split(
",") if experiment_input.value else []
cloned_data_product_uris = []
for data_product_uri in data_product_uris:
cloned_data_product = _copy_experiment_input_uri(request,
data_product_uri)
if cloned_data_product is None:
logger.warning(
"Omitting a cloned input value for {}".format(
experiment_input.name))
else:
cloned_data_product_uris.append(
cloned_data_product.productUri)
experiment_input.value = ",".join(cloned_data_product_uris)