@@ -229,6 +229,7 @@ def load_job_order(args, # type: argparse.Namespace
229
229
): # type: (...) -> Tuple[MutableMapping[Text, Any], Text, Loader]
230
230
231
231
job_order_object = None
232
+ job_order_file = None
232
233
233
234
_jobloaderctx = jobloaderctx .copy ()
234
235
loader = Loader (_jobloaderctx , fetcher_constructor = fetcher_constructor ) # type: ignore
@@ -249,13 +250,21 @@ def load_job_order(args, # type: argparse.Namespace
249
250
job_order_object , _ = loader .resolve_ref (job_order_file , checklinks = False )
250
251
251
252
if job_order_object and "http://commonwl.org/cwltool#overrides" in job_order_object :
253
+ ov_uri = file_uri (job_order_file or input_basedir )
252
254
overrides_list .extend (
253
- resolve_overrides (job_order_object , file_uri ( job_order_file ) , tool_file_uri ))
255
+ resolve_overrides (job_order_object , ov_uri , tool_file_uri ))
254
256
del job_order_object ["http://commonwl.org/cwltool#overrides" ]
255
257
256
258
if not job_order_object :
257
259
input_basedir = args .basedir if args .basedir else os .getcwd ()
258
260
261
+ if job_order_object and not isinstance (job_order_object , MutableMapping ):
262
+ _logger .error (
263
+ 'CWL input object at %s is not formatted correctly, it should be a '
264
+ 'JSON/YAML dictionay, not %s.\n '
265
+ 'Raw input object:\n %s' , job_order_file or "stdin" ,
266
+ type (job_order_object ), job_order_object )
267
+ sys .exit (1 )
259
268
return (job_order_object , input_basedir , loader )
260
269
261
270
0 commit comments