Skip to content

Commit 1862895

Browse files
committed
Update to fix #1330
1 parent 2414df9 commit 1862895

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

cwltool/workflow.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -443,9 +443,9 @@ def job(
443443
for inp in job_order:
444444
field = shortname(inp)
445445
step_input[field] = job_order[inp]
446-
# if not inp.get("not_connected"):
447-
# step_input[field] = job_order[field]
448-
446+
if hasattr(inp, "get"):
447+
if not inp.get("not_connected"):
448+
step_input[field] = job_order[field]
449449
try:
450450
yield from self.embedded_tool.job(
451451
step_input,

cwltool/workflow_job.py

+19-1
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,8 @@ def object_from_state(
387387
) -> Optional[CWLObjectType]:
388388
inputobj = {} # type: CWLObjectType
389389
for s in state.keys():
390-
inputobj[s] = state[s].value
390+
if hasattr(state[s], "value"):
391+
inputobj[s] = state[s].value
391392
for inp in parms:
392393
iid = original_id = cast(str, inp["id"])
393394
if frag_only:
@@ -553,6 +554,23 @@ def do_output_callback(self, final_output_callback: OutputCallbackType) -> None:
553554
_logger.debug("[%s] outputs %s", self.name, json_dumps(wo, indent=4))
554555

555556
self.did_callback = True
557+
paramskey=[]
558+
paramskeys=[]
559+
560+
if self.tool["outputs"] is not None:
561+
for inp in self.tool["outputs"]:
562+
for k,v in inp.items():
563+
if k == 'id':
564+
paramskey.append(v)
565+
paramskeys.append(shortname(v))
566+
567+
newwo={}
568+
for k,v in wo.items():
569+
if k in paramskey:
570+
newwo[k]=v
571+
elif k in paramskeys:
572+
newwo[k]=v
573+
wo = newwo
556574

557575
final_output_callback(wo, self.processStatus)
558576

0 commit comments

Comments
 (0)