diff options
Diffstat (limited to '_example/anchor_merge.py')
-rw-r--r-- | _example/anchor_merge.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/_example/anchor_merge.py b/_example/anchor_merge.py new file mode 100644 index 0000000..1e52204 --- /dev/null +++ b/_example/anchor_merge.py @@ -0,0 +1,29 @@ +from ruamel.yaml import YAML + +inp = """\ +- &CENTER {x: 1, y: 2} +- &LEFT {x: 0, y: 2} +- &BIG {r: 10} +- &SMALL {r: 1} +# All the following maps are equal: +# Explicit keys +- x: 1 + y: 2 + r: 10 + label: center/big +# Merge one map +- <<: *CENTER + r: 10 + label: center/big +# Merge multiple maps +- <<: [*CENTER, *BIG] + label: center/big +# Override +- <<: [*BIG, *LEFT, *SMALL] + x: 1 + label: center/big +""" + +yaml = YAML() +data = yaml.load(inp) +assert data[7]['y'] == 2 |