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