@@ -283,24 +283,26 @@ def load_tool(argsworkflow, updateonly, strict, makeTool, debug,
283
283
uri = "file://" + os .path .abspath (argsworkflow )
284
284
fileuri , urifrag = urlparse .urldefrag (uri )
285
285
workflowobj = document_loader .fetch (fileuri )
286
- if isinstance (workflowobj , list ):
287
- # bare list without a version must be treated as draft-2
288
- workflowobj = {"cwlVersion" : "https://w3id.org/cwl/cwl#draft-2" ,
289
- "id" : fileuri ,
290
- "@graph" : workflowobj }
291
286
elif isinstance (argsworkflow , dict ):
292
287
workflowobj = argsworkflow
293
288
uri = urifrag
294
- fileuri = ""
289
+ fileuri = "# "
295
290
else :
296
291
raise schema_salad .validate .ValidationException ("Must be URI or dict" )
297
292
298
293
if "cwl:tool" in workflowobj :
299
294
jobobj = workflowobj
300
- workflowobj = document_loader .fetch (urlparse .urljoin (uri , workflowobj ["cwl:tool" ]))
301
- _ , urifrag = urlparse .urldefrag (workflowobj ["cwl:tool" ])
295
+ uri = urlparse .urljoin (uri , jobobj ["cwl:tool" ])
296
+ fileuri , urifrag = urlparse .urldefrag (uri )
297
+ workflowobj = document_loader .fetch (fileuri )
302
298
del jobobj ["cwl:tool" ]
303
299
300
+ if isinstance (workflowobj , list ):
301
+ # bare list without a version must be treated as draft-2
302
+ workflowobj = {"cwlVersion" : "https://w3id.org/cwl/cwl#draft-2" ,
303
+ "id" : fileuri ,
304
+ "@graph" : workflowobj }
305
+
304
306
workflowobj = update .update (workflowobj , document_loader , fileuri )
305
307
document_loader .idx .clear ()
306
308
0 commit comments