From 38b6bbb26decb907b34e74a8da8b168ff3a8aa1b Mon Sep 17 00:00:00 2001 From: Alexander Popov Date: Tue, 15 Feb 2022 00:57:42 +0300 Subject: [PATCH] Introduce the json_dump() class method --- kconfig_hardened_check/__init__.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/kconfig_hardened_check/__init__.py b/kconfig_hardened_check/__init__.py index 7db4f5d..d65e2df 100644 --- a/kconfig_hardened_check/__init__.py +++ b/kconfig_hardened_check/__init__.py @@ -122,6 +122,12 @@ class KconfigCheck(OptCheck): def type(self): return 'kconfig' + def json_dump(self, with_results): + dump = [self.name, self.type, self.expected, self.decision, self.reason] + if with_results: + dump.append(self.result) + return dump + class VersionCheck: def __init__(self, ver_expected): @@ -221,6 +227,12 @@ class ComplexOptCheck: if with_results: print('| {}'.format(self.result), end='') + def json_dump(self, with_results): + dump = self.opts[0].json_dump(False) + if with_results: + dump.append(self.result) + return dump + class OR(ComplexOptCheck): # self.opts[0] is the option that this OR-check is about. @@ -645,13 +657,10 @@ def print_unknown_options(checklist, parsed_options): def print_checklist(mode, checklist, with_results): if mode == 'json': - opts = [] + output = [] for o in checklist: - opt = [o.name, o.type, o.expected, o.decision, o.reason] - if with_results: - opt.append(o.result) - opts.append(opt) - print(json.dumps(opts)) + output.append(o.json_dump(with_results)) + print(json.dumps(output)) return # table header -- 2.31.1