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 2019/05/31 19:04:10 UTC

[airavata-django-portal] branch master updated: AIRAVATA-3035 Check if path exists first

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.git


The following commit(s) were added to refs/heads/master by this push:
     new c7489ef  AIRAVATA-3035 Check if path exists first
c7489ef is described below

commit c7489effeb7253d12bba1431f6305279ebb3ab74
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Fri May 31 15:02:49 2019 -0400

    AIRAVATA-3035 Check if path exists first
---
 django_airavata/apps/api/data_products_helper.py | 9 ++++++---
 django_airavata/apps/api/serializers.py          | 7 +++++--
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/django_airavata/apps/api/data_products_helper.py b/django_airavata/apps/api/data_products_helper.py
index d995365..943ea4b 100644
--- a/django_airavata/apps/api/data_products_helper.py
+++ b/django_airavata/apps/api/data_products_helper.py
@@ -47,9 +47,12 @@ def copy_input_file_upload(request, data_product):
 
 
 def is_input_file_upload(request, data_product):
-    path = _get_replica_filepath(data_product)
-    rel_path = datastore.rel_path(request.user.username, path)
-    return os.path.dirname(rel_path) == TMP_INPUT_FILE_UPLOAD_DIR
+    if exists(request, data_product):
+        path = _get_replica_filepath(data_product)
+        rel_path = datastore.rel_path(request.user.username, path)
+        return os.path.dirname(rel_path) == TMP_INPUT_FILE_UPLOAD_DIR
+    else:
+        return False
 
 
 def move_input_file_upload(request, data_product, path):
diff --git a/django_airavata/apps/api/serializers.py b/django_airavata/apps/api/serializers.py
index 1589702..4ab470f 100644
--- a/django_airavata/apps/api/serializers.py
+++ b/django_airavata/apps/api/serializers.py
@@ -431,8 +431,11 @@ class ExperimentSerializer(
         if (experiment.userConfigurationData and
                 experiment.userConfigurationData.experimentDataDir):
             request = self.context['request']
-            return data_products_helper.get_rel_path(
-                request, experiment.userConfigurationData.experimentDataDir)
+            data_dir = experiment.userConfigurationData.experimentDataDir
+            if data_products_helper.dir_exists(request, data_dir):
+                return data_products_helper.get_rel_path(request, data_dir)
+            else:
+                return None
         else:
             return None