def experiment_dir_exists()

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


def experiment_dir_exists(request, experiment_id, path="", storage_resource_id=None):
    "Returns True if the path exists in the given experiment's data directory."
    if remoteapi.is_remote_api_configured():
        resp = remoteapi.call(request,
                              "/experiment-storage/{experiment_id}/{path}",
                              path_params={"path": path,
                                           "experiment_id": experiment_id},
                              raise_for_status=False)
        if resp.status_code == HTTPStatus.NOT_FOUND:
            return False
        resp.raise_for_status()
        return resp.json()['isDir']

    experiment = request.airavata_client.getExperiment(
        request.authz_token, experiment_id)
    exp_data_path = experiment.userConfigurationData.experimentDataDir
    if exp_data_path is None:
        return False
    backend = get_user_storage_provider(request,
                                        storage_resource_id=storage_resource_id,
                                        owner_username=experiment.userName)
    return backend.exists(exp_data_path)