[ARVADOS] created: 4463b916bffb6ec52dbd839760a3badbbca8cd2e

Git user git at public.curoverse.com
Thu Aug 4 11:37:00 EDT 2016


        at  4463b916bffb6ec52dbd839760a3badbbca8cd2e (commit)


commit 4463b916bffb6ec52dbd839760a3badbbca8cd2e
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date:   Thu Aug 4 11:36:56 2016 -0400

    9615: Add check_writable to check for "writable" field and raise UnsupportedRequirement.

diff --git a/sdk/cwl/arvados_cwl/__init__.py b/sdk/cwl/arvados_cwl/__init__.py
index ce1cc26..18fb8c9 100644
--- a/sdk/cwl/arvados_cwl/__init__.py
+++ b/sdk/cwl/arvados_cwl/__init__.py
@@ -101,9 +101,21 @@ class ArvCwlRunner(object):
     def add_uploaded(self, src, pair):
         self.uploaded[src] = pair
 
+    def check_writable(self, obj):
+        if isinstance(obj, dict):
+            if obj.get("writable"):
+                raise UnsupportedRequirement("InitialWorkDir feature 'writable: true' not supported")
+            for v in obj.itervalues():
+                self.check_writable(v)
+        if isinstance(obj, list):
+            for v in obj:
+                self.check_writable(v)
+
     def arvExecutor(self, tool, job_order, **kwargs):
         self.debug = kwargs.get("debug")
 
+        tool.visit(self.check_writable)
+
         if kwargs.get("quiet"):
             logger.setLevel(logging.WARN)
             logging.getLogger('arvados.arv-run').setLevel(logging.WARN)

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list