@@ -108,7 +108,9 @@ def __init__(self, job, output_callback, cachebuilder, jobcache):
108
108
def run (self , ** kwargs ):
109
109
# type: (**Any) -> None
110
110
self .output_callback (self .job .collect_output_ports (self .job .tool ["outputs" ],
111
- self .cachebuilder , self .outdir ),
111
+ self .cachebuilder ,
112
+ self .outdir ,
113
+ kwargs .get ("compute_checksum" )),
112
114
"success" )
113
115
114
116
# map files to assigned path inside a container. We need to also explicitly
@@ -334,12 +336,12 @@ def rm_pending_output_callback(output_callback, jobcachepending,
334
336
335
337
j .pathmapper = builder .pathmapper
336
338
j .collect_outputs = partial (
337
- self .collect_output_ports , self .tool ["outputs" ], builder )
339
+ self .collect_output_ports , self .tool ["outputs" ], builder , compute_checksum = kwargs . get ( "compute_checksum" ) )
338
340
j .output_callback = output_callback
339
341
340
342
yield j
341
343
342
- def collect_output_ports (self , ports , builder , outdir ):
344
+ def collect_output_ports (self , ports , builder , outdir , compute_checksum = True ):
343
345
# type: (Set[Dict[str,Any]], Builder, str) -> Dict[unicode, Union[unicode, List[Any], Dict[unicode, Any]]]
344
346
try :
345
347
ret = {} # type: Dict[unicode, Union[unicode, List[Any], Dict[unicode, Any]]]
@@ -361,7 +363,7 @@ def collect_output_ports(self, ports, builder, outdir):
361
363
for port in ports :
362
364
fragment = shortname (port ["id" ])
363
365
try :
364
- ret [fragment ] = self .collect_output (port , builder , outdir )
366
+ ret [fragment ] = self .collect_output (port , builder , outdir , compute_checksum )
365
367
except Exception as e :
366
368
_logger .debug (u"Error collecting output for parameter '%s'" % shortname (port ["id" ]), exc_info = e )
367
369
raise WorkflowException (u"Error collecting output for parameter '%s': %s" % (shortname (port ["id" ]), e ))
@@ -477,6 +479,6 @@ def collect_output(self, schema, builder, outdir, compute_checksum=True):
477
479
out = {}
478
480
for f in schema ["type" ]["fields" ]:
479
481
out [shortname (f ["name" ])] = self .collect_output ( # type: ignore
480
- f , builder , outdir )
482
+ f , builder , outdir , compute_checksum )
481
483
return out
482
484
return r
0 commit comments