From 4697be89cb2711923e8c54565c14e220c24ae123 Mon Sep 17 00:00:00 2001 From: James Miller Date: Fri, 24 Apr 2020 23:48:36 -0500 Subject: [PATCH] first draft of standardizeyaml for monsters.yaml --- data/yaml/standardizeyaml.py | 48 ++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 data/yaml/standardizeyaml.py diff --git a/data/yaml/standardizeyaml.py b/data/yaml/standardizeyaml.py new file mode 100644 index 0000000..2435ba8 --- /dev/null +++ b/data/yaml/standardizeyaml.py @@ -0,0 +1,48 @@ +import yaml +import pprint + + +def main(): + + standardize_monsters() + + +def standardize_monsters(): + with open('monsters.yaml', 'r') as f: + data = yaml.full_load(f) + goodset = set() + for i in data['monsters']: + deletekeys = [] + for k, v in i.items(): + # print("Key:{}\tValue:{}".format(k,v)) + if v == None: + print("Deleting key: {} from {}".format(k, i['name'])) + deletekeys.append(k) + else: + goodset.add(k) + # got to do it this way or your get a runtime error for changing the + # index mid iteration + for z in deletekeys: + del (i[z]) + print(goodset) + + for i in data['monsters']: + for k in goodset: + if k not in i: + print("Adding field {} to {}".format(k, i['name'])) + i[k] = None + + final = yaml.safe_dump(data, allow_unicode=True) + with open('monsters.yaml', 'w') as f: + f.write(final) + + # pprint.pprint(data['monsters'][0]) + + # print(data['monsters'][0].keys()) + + # for key, value in data['monsters'][0]: + # print("Key:{}\tValue:{}".format(key,value)) + + +if __name__ == "__main__": + main()