60 lines
2.0 KiB
Python
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=(',', ': '))
|