def _set_storage_id_and_data_dir()

in airavata_django_portal_sdk/experiment_util/api.py [0:0]


def _set_storage_id_and_data_dir(request, experiment):
    # Storage ID
    experiment.userConfigurationData.storageId = user_storage.get_default_storage_resource_id(request)
    # Create experiment dir and set it on model
    if not experiment.userConfigurationData.experimentDataDir:
        project = request.airavata_client.getProject(
            request.authz_token, experiment.projectId)
        _, exp_dir = user_storage.create_user_dir(
            request,
            dir_names=(project.name, experiment.experimentName),
            create_unique=True)
        experiment.userConfigurationData.experimentDataDir = exp_dir
    else:
        # create_user_dir will also validate that absolute paths are
        # inside the user's storage directory
        _, exp_dir = user_storage.create_user_dir(
            request,
            path=experiment.userConfigurationData.experimentDataDir)
        experiment.userConfigurationData.experimentDataDir = exp_dir