@@ -341,6 +341,25 @@ def draft3toDraft4dev1(doc, loader, baseuri):
341
341
"""Public updater for draft-3 to draft-4.dev1."""
342
342
return (_draft3toDraft4dev1 (doc , loader , baseuri ), "draft-4.dev1" )
343
343
344
+ def _draft4Dev1toDev2 (doc , loader , baseuri ):
345
+ # type: (Any, Loader, str) -> Any
346
+ if isinstance (doc , dict ):
347
+ if "class" in doc and doc ["class" ] == "Workflow" :
348
+ for out in doc ["outputs" ]:
349
+ out ["outputSource" ] = out ["source" ]
350
+ del out ["source" ]
351
+ for key , value in doc .items ():
352
+ doc [key ] = _draft4Dev1toDev2 (value , loader , baseuri )
353
+ elif isinstance (doc , list ):
354
+ doc = [_draft4Dev1toDev2 (item , loader , baseuri ) for item in doc ]
355
+
356
+ return doc
357
+
358
+ def draft4Dev1toDev2 (doc , loader , baseuri ):
359
+ # type: (Any, Loader, str) -> Tuple[Any, str]
360
+ """Public updater for draft-4.dev1 to draft-4.dev2."""
361
+ return (_draft4Dev1toDev2 (doc , loader , baseuri ), "draft-4.dev2" )
362
+
344
363
UPDATES = {
345
364
"draft-2" : draft2toDraft3dev1 ,
346
365
"draft-3" : draft3toDraft4dev1
@@ -352,13 +371,14 @@ def draft3toDraft4dev1(doc, loader, baseuri):
352
371
"draft-3.dev3" : draftDraft3dev3toDev4 ,
353
372
"draft-3.dev4" : draftDraft3dev4toDev5 ,
354
373
"draft-3.dev5" : draftDraft3dev5toFinal ,
355
- "draft-4.dev1" : None
374
+ "draft-4.dev1" : draft4Dev1toDev2 ,
375
+ "draft-4.dev2" : None
356
376
} # type: Dict[unicode, Callable[[Any, Loader, str], Tuple[Any, str]]]
357
377
358
378
ALLUPDATES = UPDATES .copy ()
359
379
ALLUPDATES .update (DEVUPDATES )
360
380
361
- LATEST = "draft-4.dev1 "
381
+ LATEST = "draft-4.dev2 "
362
382
363
383
def identity (doc , loader , baseuri ): # pylint: disable=unused-argument
364
384
# type: (Any, Loader, str) -> Tuple[Any, Union[str, unicode]]
0 commit comments