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

machristie pushed a commit to branch main
in repository 
https://gitbox.apache.org/repos/asf/airavata-cookiecutter-django-app.git

commit 5a38df026aee619f6c9d84ca601091df911a0f03
Author: Marcus Christie <[email protected]>
AuthorDate: Wed Jun 2 13:27:13 2021 -0400

    Adding Airavata API client example call
---
 {{cookiecutter.project_slug}}/setup.cfg             |  1 +
 .../{{cookiecutter.project_slug}}/views.py          | 21 +++++++++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/{{cookiecutter.project_slug}}/setup.cfg 
b/{{cookiecutter.project_slug}}/setup.cfg
index cbe2c59..41252a4 100644
--- a/{{cookiecutter.project_slug}}/setup.cfg
+++ b/{{cookiecutter.project_slug}}/setup.cfg
@@ -9,6 +9,7 @@ packages = find:
 include_package_data = True
 install_requires =
     django >= 2.2
+    airavata-django-portal-sdk
 
 [options.entry_points]
 airavata.djangoapp =
diff --git 
a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/views.py 
b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/views.py
index 6e47202..764354e 100644
--- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/views.py
+++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/views.py
@@ -1,3 +1,4 @@
+from django.conf import settings
 from django.contrib.auth.decorators import login_required
 from django.http import HttpResponse, HttpResponseNotFound
 from django.shortcuts import render
@@ -9,10 +10,30 @@ from airavata_django_portal_sdk import user_storage
 @login_required
 def home(request):
 
+    # Example code: Airavata API client
+    # Make calls to the Airavata API from your view, for example:
+    #
+    # experiments = request.airavata_client.searchExperiments(
+    #        request.authz_token, settings.GATEWAY_ID, request.user.username, 
filters={},
+    #        limit=20, offset=0)
+    #
+    # The authorization token is always the first argument of Airavata API 
calls
+    # and is available as 'request.authz_token'. Some API methods require a
+    # 'gatewayID' argument and that is available on the Django settings object
+    # as 'settings.GATEWAY_ID'.
+    # For documentation on other Airavata API methods, see
+    # 
https://docs.airavata.org/en/master/technical-documentation/airavata-api/.
+    # The Airavata Django Portal uses the Airavata Python Client SDK:
+    # 
https://github.com/apache/airavata/tree/master/airavata-api/airavata-client-sdks/airavata-python-sdk
+
+
+    # Example code: user_storage module
     # In your Django views, you can make calls to the user_storage module to 
manage a user's files in the gateway
+    #
     # user_storage.listdir(request, "")  # lists the user's home directory
     # user_storage.open_file(request, data_product_uri=...)  # open's a file 
for a given data_product_uri
     # user_storage.save(request, "path/in/user/storage", file)  # save a file 
to a path in the user's storage
+    #
     # For more information as well as other user_storage functions, see 
https://airavata-django-portal-sdk.readthedocs.io/en/latest/
 
     return render(request, "{{ cookiecutter.project_slug }}/home.html", {

Reply via email to