Add missing result[] handling

fixes missing result errors
       #+BEGIN_SRC text
         Traceback (most recent call last):
           File "/mnt/common/home/hohn/work-gh/sarif-cli/.venv-ubuserv/bin/sarif-to-table", line 125, in <module>
             num_results = len(S.get(sarif_struct, 'runs', runi, 'results'))
           File "/mnt/common/home/hohn/work-gh/sarif-cli/sarif_cli/traverse.py", line 169, in get
             res = res[p]
         KeyError: 'results'
         76% 3204:1006=7s ./repos/RasaHQ/rasa/code-scanning/analyses/132221999.sarif                                Traceback (most recent call last):
           File "/mnt/common/home/hohn/work-gh/sarif-cli/.venv-ubuserv/bin/sarif-to-table", line 125, in <module>
             num_results = len(S.get(sarif_struct, 'runs', runi, 'results'))
           File "/mnt/common/home/hohn/work-gh/sarif-cli/sarif_cli/traverse.py", line 169, in get
             res = res[p]
         KeyError: 'results'
       #+END_SRC
This commit is contained in:
2025-10-20 21:33:02 -07:00
committed by =michael hohn
parent 1909517804
commit edce50fb79

View File

@@ -122,9 +122,13 @@ atexit.register(_flush_buffer)
# --------------------------------------------------------------------
for runi in S.indices(sarif_struct, 'runs'):
unique_id = compute_unique_id(sarif_struct, runi, args.file)
num_results = len(S.get(sarif_struct, 'runs', runi, 'results'))
if num_results == 0:
run_obj = S.get(sarif_struct, 'runs', runi)
results = run_obj.get('results', [])
if not results:
S.dbg(f"Skipping {args.file} run {runi}: no results key\n")
continue
num_results = len(results)
for resi in S.indices(sarif_struct, 'runs', runi, 'results'):
result = S.get(sarif_struct, 'runs', runi, 'results', resi)
rule_id = result.get("ruleId")