Merge branch 'main' into 18842-arv-mount-disk-config
[arvados.git] / sdk / cwl / arvados_cwl / context.py
index 81e256ed545adbdf5e3be00eccdd108f65be26d4..3ce561f66d3404e03c4aab19470439af22bf83dd 100644 (file)
@@ -3,6 +3,7 @@
 # SPDX-License-Identifier: Apache-2.0
 
 from cwltool.context import LoadingContext, RuntimeContext
+from collections import namedtuple
 
 class ArvLoadingContext(LoadingContext):
     def __init__(self, kwargs=None):
@@ -28,6 +29,33 @@ class ArvRuntimeContext(RuntimeContext):
         self.wait = True
         self.cwl_runner_job = None
         self.storage_classes = "default"
+        self.intermediate_storage_classes = "default"
         self.current_container = None
+        self.http_timeout = 300
+        self.submit_runner_cluster = None
+        self.cluster_target_id = 0
+        self.always_submit_runner = False
+        self.collection_cache_size = 256
+        self.match_local_docker = False
+        self.enable_preemptible = None
+        self.copy_deps = None
+        self.defer_downloads = False
+        self.varying_url_params = ""
+        self.prefer_cached_downloads = False
 
         super(ArvRuntimeContext, self).__init__(kwargs)
+
+        if self.submit_request_uuid:
+            self.submit_runner_cluster = self.submit_request_uuid[0:5]
+
+    def get_outdir(self) -> str:
+        """Return self.outdir or create one with self.tmp_outdir_prefix."""
+        return self.outdir
+
+    def get_tmpdir(self) -> str:
+        """Return self.tmpdir or create one with self.tmpdir_prefix."""
+        return self.tmpdir
+
+    def create_tmpdir(self) -> str:
+        """Return self.tmpdir or create one with self.tmpdir_prefix."""
+        return self.tmpdir