Merge YAML documents
Loaded YAML can be combined and dumped with the comments intact.
from strictyaml import Map, MapPattern, Str, Seq, Int, load
schema_1 = Map({
"a": Str(),
"b": Map({"x": Int(), "y": Int()}),
"c": Seq(MapPattern(Str(), Str())),
})
schema_2 = Map({"x": Int(), "y": Int()})
yaml_1 = load(yaml_snippet_1, schema_1)
yaml_2 = load(yaml_snippet_2, schema_2)
yaml_1['b'] = yaml_2
print(yaml_1.as_yaml())
# Some comment
a: รข # value comment
# Another comment
b:
x: 8
# y is now 9
y: 9
c:
- a: 1
- b: 2
Executable specification
Documentation automatically generated from merge-documents.story storytests.