You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2021/07/09 13:50:23 UTC

[airavata-django-portal-sdk] 03/04: AIRAVATA-3485 Support for experiment-id in remote API

This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-django-portal-sdk.git

commit f5f04d107af980901f3ab56dae8d6260bd4266cb
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Fri Jul 9 09:45:09 2021 -0400

    AIRAVATA-3485 Support for experiment-id in remote API
---
 airavata_django_portal_sdk/user_storage/api.py | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/airavata_django_portal_sdk/user_storage/api.py b/airavata_django_portal_sdk/user_storage/api.py
index ebed712..6ee7d69 100644
--- a/airavata_django_portal_sdk/user_storage/api.py
+++ b/airavata_django_portal_sdk/user_storage/api.py
@@ -81,10 +81,10 @@ def save(request, path, file, name=None, content_type=None, storage_resource_id=
             name = os.path.basename(file.name)
         files = {'file': (name, file, content_type)
                  if content_type is not None else file, }
-        # TODO: add experiment data directory relative paths support to remote API
         resp = _call_remote_api(request,
                                 "/user-storage/~/{path}",
                                 path_params={"path": path},
+                                params={"experiment-id": experiment_id},
                                 method="post",
                                 files=files)
         data = resp.json()
@@ -275,10 +275,10 @@ def exists(request, data_product=None, data_product_uri=None):
 def dir_exists(request, path, storage_resource_id=None, experiment_id=None):
     "Return True if path exists in user's data store."
     if _is_remote_api():
-        # TODO: add experiment data directory relative path support to remote API
         resp = _call_remote_api(request,
                                 "/user-storage/~/{path}",
                                 path_params={"path": path},
+                                params={"experiment-id": experiment_id},
                                 raise_for_status=False)
         if resp.status_code == HTTPStatus.NOT_FOUND:
             return False
@@ -294,10 +294,10 @@ def dir_exists(request, path, storage_resource_id=None, experiment_id=None):
 def user_file_exists(request, path, storage_resource_id=None, experiment_id=None):
     """If file exists, return data product URI, else None."""
     if _is_remote_api():
-        # TODO: add experiment data directory relative path support to remote API
         resp = _call_remote_api(request,
                                 "/user-storage/~/{path}",
                                 path_params={"path": path},
+                                params={"experiment-id": experiment_id},
                                 raise_for_status=False)
         if resp.status_code == HTTPStatus.NOT_FOUND or resp.json()['isDir']:
             return None
@@ -318,10 +318,10 @@ def user_file_exists(request, path, storage_resource_id=None, experiment_id=None
 def delete_dir(request, path, storage_resource_id=None, experiment_id=None):
     """Delete path in user's data store, if it exists."""
     if _is_remote_api():
-        # TODO: add experiment data directory relative path support to remote API
         resp = _call_remote_api(request,
                                 "/user-storage/~/{path}",
                                 path_params={"path": path},
+                                params={"experiment-id": experiment_id},
                                 method="delete",
                                 raise_for_status=False)
         _raise_404(resp, f"File path does not exist {path}")
@@ -335,10 +335,10 @@ def delete_dir(request, path, storage_resource_id=None, experiment_id=None):
 def delete_user_file(request, path, storage_resource_id=None, experiment_id=None):
     """Delete file in user's data store, if it exists."""
     if _is_remote_api():
-        # TODO: add experiment data directory relative path support to remote API
         resp = _call_remote_api(request,
                                 "/user-storage/~/{path}",
                                 path_params={"path": path},
+                                params={"experiment-id": experiment_id},
                                 method="delete",
                                 raise_for_status=False)
         _raise_404(resp, f"File path does not exist {path}")
@@ -384,6 +384,7 @@ def get_file_metadata(request, path, storage_resource_id=None, experiment_id=Non
         resp = _call_remote_api(request,
                                 "/user-storage/~/{path}",
                                 path_params={"path": path},
+                                params={"experiment-id": experiment_id},
                                 raise_for_status=False
                                 )
         _raise_404(resp, "User storage file path does not exist")
@@ -503,6 +504,7 @@ def listdir(request, path, storage_resource_id=None, experiment_id=None):
         resp = _call_remote_api(request,
                                 "/user-storage/~/{path}",
                                 path_params={"path": path},
+                                params={"experiment-id": experiment_id},
                                 )
         data = resp.json()
         for directory in data['directories']:
@@ -651,10 +653,10 @@ def create_user_dir(request, path="", dir_names=(), create_unique=False, storage
     """
     if _is_remote_api():
         logger.debug(f"path={path}")
-        # TODO: add experiment data directory relative path support to remote API
         resp = _call_remote_api(request,
                                 "/user-storage/~/{path}",
                                 path_params={"path": path},
+                                params={"experiment-id": experiment_id},
                                 method="post")
         json = resp.json()
         # 'path' is a new response attribute, for backwards compatibility check if it exists first