Browse Source

Guarantee stable output order

master
JustAnotherArchivist 2 years ago
parent
commit
34503dd274
1 changed files with 5 additions and 1 deletions
  1. +5
    -1
      ia-files-xml-to-jsonl

+ 5
- 1
ia-files-xml-to-jsonl View File

@@ -14,4 +14,8 @@ for file in root:
children = {child.tag: child.text for child in file}
assert not any(k in children for k in attributes), 'attribute found in children'
assert not any(k in attributes for k in children), 'child found in attributes'
print(json.dumps({**attributes, **children}))
assert 'name' in attributes, 'malformed file without name attribute'
o = {'name': attributes['name']}
del attributes['name']
o.update(sorted({**attributes, **children}.items()))
print(json.dumps(o))

Loading…
Cancel
Save