projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
15954: Merge branch 'master'
[arvados.git]
/
sdk
/
cwl
/
arvados_cwl
/
fsaccess.py
diff --git
a/sdk/cwl/arvados_cwl/fsaccess.py
b/sdk/cwl/arvados_cwl/fsaccess.py
index 252ca57d47bb30ad1834e7070b3cfdf1e0ffdbb1..bc2c5e34d7b6c2737cc8bdcb541fc1daf394d9ae 100644
(file)
--- a/
sdk/cwl/arvados_cwl/fsaccess.py
+++ b/
sdk/cwl/arvados_cwl/fsaccess.py
@@
-133,10
+133,10
@@
class CollectionFsAccess(cwltool.stdfsaccess.StdFsAccess):
patternsegments = rest.split("/")
return sorted(self._match(collection, patternsegments, "keep:" + collection.manifest_locator()))
patternsegments = rest.split("/")
return sorted(self._match(collection, patternsegments, "keep:" + collection.manifest_locator()))
- def open(self, fn, mode):
+ def open(self, fn, mode
, encoding=None
):
collection, rest = self.get_collection(fn)
if collection is not None:
collection, rest = self.get_collection(fn)
if collection is not None:
- return collection.open(rest, mode)
+ return collection.open(rest, mode
, encoding=encoding
)
else:
return super(CollectionFsAccess, self).open(self._abs(fn), mode)
else:
return super(CollectionFsAccess, self).open(self._abs(fn), mode)
@@
-225,12
+225,13
@@
class CollectionFetcher(DefaultFetcher):
def fetch_text(self, url):
if url.startswith("keep:"):
def fetch_text(self, url):
if url.startswith("keep:"):
- with self.fsaccess.open(url, "r") as f:
+ with self.fsaccess.open(url, "r"
, encoding="utf-8"
) as f:
return f.read()
if url.startswith("arvwf:"):
record = self.api_client.workflows().get(uuid=url[6:]).execute(num_retries=self.num_retries)
return f.read()
if url.startswith("arvwf:"):
record = self.api_client.workflows().get(uuid=url[6:]).execute(num_retries=self.num_retries)
- definition = record["definition"] + ('\nlabel: "%s"\n' % record["name"].replace('"', '\\"'))
- return definition
+ definition = yaml.round_trip_load(record["definition"])
+ definition["label"] = record["name"]
+ return yaml.round_trip_dump(definition)
return super(CollectionFetcher, self).fetch_text(url)
def check_exists(self, url):
return super(CollectionFetcher, self).fetch_text(url)
def check_exists(self, url):