in dev-scripts/generate.py [0:0]
def load_json(filename):
jsonContents = read_file(filename)
decodedJson = json.loads(jsonContents)
if 'checks' not in decodedJson:
print("No checks found in " + filename)
return False
checks = decodedJson['checks']
global _available_categories, _checks, _specified_check_names
if 'available_categories' in decodedJson:
_available_categories = decodedJson['available_categories']
for check in checks:
c = Check()
try:
c.name = check['name']
c.level = check['level']
if 'categories' in check:
c.categories = check['categories']
for cat in c.categories:
if cat not in _available_categories:
print('Unknown category ' + cat)
return False
except KeyError:
print("Missing mandatory field while processing " + str(check))
return False
if _specified_check_names and c.name not in _specified_check_names:
continue
if 'class_name' in check:
c.class_name = check['class_name']
if 'ifndef' in check:
c.ifndef = check['ifndef']
if 'minimum_qt_version' in check:
c.minimum_qt_version = check['minimum_qt_version']
if 'visits_stmts' in check:
c.visits_stmts = check['visits_stmts']
if 'visits_decls' in check:
c.visits_decls = check['visits_decls']
if 'fixits' in check:
for fixit in check['fixits']:
if 'name' not in fixit:
print('fixit doesnt have a name. check=' + str(check))
return False
c.fixits.append(fixit['name'])
if not c.valid_name():
print("Invalid check name: %s" % (c.name()))
return False
_checks.append(c)
_checks = sorted(_checks, key=checkSortKey)
return True