Merge branch '19385-cwl-fast-pack' refs #19385
[arvados.git] / sdk / cwl / arvados_cwl / fsaccess.py
index 5c09e671fa21eac1952c417e10580d332e3612be..a5e9db0cfe41c27e8cf4a6aeaacc95820ba48aeb 100644 (file)
@@ -16,8 +16,9 @@ import re
 import logging
 import threading
 from collections import OrderedDict
+from io import StringIO
 
-import ruamel.yaml as yaml
+import ruamel.yaml
 
 import cwltool.stdfsaccess
 from cwltool.pathmapper import abspath
@@ -235,9 +236,12 @@ class CollectionFetcher(DefaultFetcher):
                 return f.read()
         if url.startswith("arvwf:"):
             record = self.api_client.workflows().get(uuid=url[6:]).execute(num_retries=self.num_retries)
-            definition = yaml.round_trip_load(record["definition"])
+            yaml = ruamel.yaml.YAML(typ='rt', pure=True)
+            definition = yaml.load(record["definition"])
             definition["label"] = record["name"]
-            return yaml.round_trip_dump(definition)
+            stream = StringIO()
+            yaml.dump(definition, stream)
+            return stream.getvalue()
         return super(CollectionFetcher, self).fetch_text(url)
 
     def check_exists(self, url):