Skip to content

Commit 0e421d3

Browse files
committed
requested changes applied
1 parent 3ec795f commit 0e421d3

File tree

2 files changed

+24
-23
lines changed

2 files changed

+24
-23
lines changed

web/client/codechecker_client/cmd_line_client.py

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -641,50 +641,46 @@ def handle_list_runs(args):
641641
runs = get_run_data(client, run_filter, sort_mode)
642642

643643
if hasattr(args, 'enabled_checkers') and args.enabled_checkers:
644-
results = get_run_results(client,
645-
[run.runId for run in runs],
646-
constants.MAX_QUERY_SIZE,
647-
0,
648-
None,
649-
ttypes.ReportFilter(),
650-
None,
651-
None)
652-
enabled_checkers = {}
653-
for result in results:
654-
if result.analyzerName not in enabled_checkers:
655-
enabled_checkers[result.analyzerName] = set()
656-
enabled_checkers[result.analyzerName].add(result.checkerId)
644+
enabled_checkers: Dict[str, List[str]] = {}
645+
for run in runs:
646+
info_list: List[ttypes.AnalysisInfo] = client.getAnalysisInfo(
647+
ttypes.AnalysisInfoFilter(runId=run.runId),
648+
constants.MAX_QUERY_SIZE,
649+
0)
650+
for info in info_list:
651+
analyzers = info.checkers.keys()
652+
for analyzer in analyzers:
653+
if analyzer not in enabled_checkers:
654+
enabled_checkers[analyzer] = []
655+
656+
checkers = info.checkers.get(analyzer, {})
657+
for checker in checkers:
658+
if checkers[checker].enabled:
659+
enabled_checkers[analyzer].append(checker)
657660

658661
if args.output_format == 'plaintext':
659-
print("Enabled checkers:")
660662
for analyzer, checkers in enabled_checkers.items():
661663
print(analyzer + ":")
662664
for checker in checkers:
663665
print(" " + checker)
664-
665666
elif args.output_format == 'csv':
666-
separator = ','
667+
separator = ';'
667668
print("Analyzer" + separator + "Checker")
668669
for analyzer, checkers in enabled_checkers.items():
669670
for checker in checkers:
670671
print(analyzer + separator + checker)
671-
672672
elif args.output_format == 'json':
673-
converted = {}
674-
for analyzer, checkers in enabled_checkers.items():
675-
converted[analyzer] = list(checkers)
676-
print(json.dumps(converted, indent=2))
677-
673+
print(json.dumps(enabled_checkers, indent=4))
678674
elif args.output_format == 'table':
679675
header = ['Analyzer', 'Checker']
680676
rows = [
681677
(analyzer, checker)
682678
for analyzer, checkers in enabled_checkers.items()
683679
for checker in checkers]
684680
print(twodim.to_str(args.output_format, header, rows))
685-
686681
else:
687682
LOG.error("Unsupported output format: %s", args.output_format)
683+
return
688684

689685
if args.output_format == 'json':
690686
# This json is different from the json format printed by the
@@ -729,6 +725,7 @@ def handle_list_runs(args):
729725
codechecker_version))
730726

731727
print(twodim.to_str(args.output_format, header, rows))
728+
return
732729

733730

734731
def handle_list_results(args):

web/client/codechecker_client/helpers/results.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,3 +196,7 @@ def getAnalysisStatistics(self, run_id, run_history_id):
196196
@thrift_client_call
197197
def storeAnalysisStatistics(self, run_name, zip_file):
198198
pass
199+
200+
@thrift_client_call
201+
def getAnalysisInfo(self, analysis_info_filter, limit, offset):
202+
pass

0 commit comments

Comments
 (0)