|
4 | 4 | import yaml as pyyaml |
5 | 5 |
|
6 | 6 |
|
7 | | -_viewitems = 'viewitems' if sys.version_info < (3,) else 'items' |
| 7 | +_items = 'viewitems' if sys.version_info < (3,) else 'items' |
8 | 8 |
|
9 | 9 |
|
10 | | -def _representer(dumper, data): |
11 | | - return dumper.represent_dict(getattr(data, _viewitems)()) |
| 10 | +def map_representer(dumper, data): |
| 11 | + return dumper.represent_dict(getattr(data, _items)()) |
12 | 12 |
|
13 | 13 |
|
14 | | -def _constructor(loader, node): |
| 14 | +def map_constructor(loader, node): |
| 15 | + loader.flatten_mapping(node) |
15 | 16 | return OrderedDict(loader.construct_pairs(node)) |
16 | 17 |
|
17 | 18 |
|
18 | | -pyyaml.add_representer(dict, _representer) |
19 | | -pyyaml.add_representer(OrderedDict, _representer) |
| 19 | +pyyaml.add_representer(dict, map_representer) |
| 20 | +pyyaml.add_representer(OrderedDict, map_representer) |
20 | 21 |
|
21 | 22 |
|
22 | 23 | if sys.version_info < (3, 7): |
23 | | - pyyaml.add_constructor(pyyaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG, _constructor) |
| 24 | + pyyaml.add_constructor('tag:yaml.org,2002:map', map_constructor) |
| 25 | + |
| 26 | + |
| 27 | +del map_constructor, map_representer |
24 | 28 |
|
25 | 29 |
|
26 | 30 | # Merge PyYAML namespace into ours. |
|
0 commit comments