interop/organize.py

60 lines
2.0 KiB
Python

import json
defcore = json.loads(open('2015.next.json','r').read())
new_caps = json.loads(open('newcaps.json','r').read())
capabilities = {}
old_capabilities = defcore["capabilities"]
for old_capability in old_capabilities:
old_capability = old_capabilities[old_capability]
achievements = old_capability["achievements"]
admin = old_capability["admin"]
try:
required_since = old_capability["required-since"]
except:
required_since = ""
description = old_capability["description"]
name = old_capability["name"]
try:
project = old_capability["project"]
except:
project = "TODO"
tests = old_capability["tests"]
for test in tests:
try:
flag = old_capability["tests"][test]["flag"]
except:
flag = None
new_capability_name = new_caps[test]["capability"]
try:
capability = capabilities[new_capability_name]
except:
capability = {}
capability["achievements"] = set()
capability["admin"] = set()
capability["required-since"] = set()
capability["description"] = set()
capability["project"] = set()
capability["tests"] = {}
for achievement in achievements:
capability["achievements"].add(achievement)
capability["admin"].add(str(admin))
capability["required-since"].add(required_since)
capability["description"].add(description)
capability["project"].add(project)
capability["tests"][test] = tests[test]
capabilities[new_capability_name] = capability
for capability in capabilities:
cap = capabilities[capability]
cap["achievements"] = list(cap["achievements"])
cap["admin"] = ", ".join(cap["admin"])
cap["required-since"] = ", ".join(cap["required-since"])
cap["description"] = ", ".join(cap["description"])
cap["project"] = ", ".join(cap["project"])
print json.dumps(capabilities, sort_keys=True, indent=2, separators=(',', ': '))