1
0
mirror of https://github.com/github/octodns.git synced 2024-05-11 05:55:00 +00:00

Improved/actionable keys out of order error message

This commit is contained in:
Ross McFarland
2017-07-25 09:15:30 -07:00
parent acf9fb67ad
commit 7f8a01a81d
2 changed files with 9 additions and 5 deletions

View File

@@ -21,9 +21,13 @@ class SortEnforcingLoader(SafeLoader):
self.flatten_mapping(node)
ret = self.construct_pairs(node)
keys = [d[0] for d in ret]
if keys != sorted(keys, key=_natsort_key):
raise ConstructorError(None, None, "keys out of order: {}"
.format(', '.join(keys)), node.start_mark)
keys_sorted = sorted(keys, key=_natsort_key)
for key in keys:
expected = keys_sorted.pop(0)
if key != expected:
raise ConstructorError(None, None, 'keys out of order: '
'expected {} got {} at {}'
.format(expected, key, node.start_mark))
return dict(ret)