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/10/29 22:08:15 UTC

[airavata-django-portal] branch master updated: AIRAVATA-3245 Create user dir with permissions that allows PGA interop

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 26e71d8  AIRAVATA-3245 Create user dir with permissions that allows PGA interop
26e71d8 is described below

commit 26e71d8b1fa72bbef1364b19b027b3d082544f62
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Tue Oct 29 18:07:45 2019 -0400

    AIRAVATA-3245 Create user dir with permissions that allows PGA interop
---
 django_airavata/apps/api/datastore.py | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/django_airavata/apps/api/datastore.py b/django_airavata/apps/api/datastore.py
index c3a1318..45a439b 100644
--- a/django_airavata/apps/api/datastore.py
+++ b/django_airavata/apps/api/datastore.py
@@ -82,7 +82,7 @@ def move_external(external_path, target_username, target_dir, file_name):
 def create_user_dir(username, path):
     user_data_storage = _user_data_storage(username)
     if not user_data_storage.exists(path):
-        os.makedirs(user_data_storage.path(path))
+        _makedirs(username, user_data_storage.path(path))
     else:
         raise Exception(
             "Directory {} already exists".format(path))
@@ -139,15 +139,20 @@ def get_experiment_dir(
         user_experiment_data_storage = _user_data_storage(username)
         experiment_dir = user_experiment_data_storage.path(path)
     if not user_experiment_data_storage.exists(experiment_dir):
-        os.makedirs(
-            experiment_dir,
-            mode=user_experiment_data_storage.directory_permissions_mode)
-        # os.makedirs mode isn't always respected so need to chmod to be sure
-        os.chmod(experiment_dir,
-                 mode=user_experiment_data_storage.directory_permissions_mode)
+        _makedirs(username, experiment_dir)
     return experiment_dir
 
 
+def _makedirs(username, dir_path):
+    user_experiment_data_storage = _user_data_storage(username)
+    os.makedirs(dir_path,
+                mode=user_experiment_data_storage.directory_permissions_mode)
+    # os.makedirs mode isn't always respected so need to chmod to be sure
+    os.chmod(dir_path,
+             mode=user_experiment_data_storage.directory_permissions_mode)
+
+
+
 def list_user_dir(username, file_path):
     logger.debug("file_path={}".format(file_path))
     user_data_storage = _user_data_storage(username)