@@ -31,9 +31,6 @@ def add_short_ref_for_report(diffs: Dict, options: "Options") -> Dict:
3131        diffs ["diff_summary" ][options .file_2 ].get ("dependencies" , []), purl_regex )
3232    diffs ["common_summary" ]["dependencies" ] =  parse_purls (
3333        diffs ["common_summary" ].get ("dependencies" , []), purl_regex )
34-     diffs ["diff_summary" ][options .file_1 ] =  filter_empty (options .include_empty , diffs ["diff_summary" ][options .file_1 ])
35-     diffs ["diff_summary" ][options .file_2 ] =  filter_empty (options .include_empty , diffs ["diff_summary" ][options .file_2 ])
36-     diffs ["common_summary" ] =  filter_empty (options .include_empty , diffs ["common_summary" ])
3734    return  diffs 
3835
3936
@@ -108,7 +105,6 @@ def generate_bom_diff(bom: BomDicts, commons: BomDicts, common_refs: Dict) -> Di
108105                case  _:
109106                    diff_summary ["components" ]["other_components" ].append (i .to_dict ())  #type: ignore 
110107    diff_summary ["misc_data" ] =  (bom .misc_data  -  commons .misc_data ).to_dict ()
111-     diff_summary ["components" ] =  filter_empty (bom .options .include_empty , diff_summary ["components" ])  #type: ignore 
112108    return  diff_summary 
113109
114110
@@ -223,7 +219,7 @@ def parse_purls(deps: List[Dict], regex: re.Pattern) -> List[Dict]:
223219def  perform_bom_diff (bom_1 : BomDicts , bom_2 : BomDicts ) ->  Tuple [int , Dict ]:
224220    b1 , b2  =  order_documents (bom_1 , bom_2 )
225221    common_bom  =  b1 .intersection (b2 , "common_summary" )
226-     output  =  filter_empty ( common_bom .options . include_empty ,  common_bom . to_summary () )
222+     output  =  common_bom .to_summary ()
227223    status , diffs  =  summarize_bom_diffs (b1 , b2 , common_bom )
228224    output  |=  {"diff_summary" : diffs }
229225    return  status , output 
@@ -253,6 +249,8 @@ def report_results(status: int, diffs: Dict, options: Options, j1: BomDicts, j2:
253249        elif  options .preconfig_type  ==  "csaf" :
254250            export_html_report (report_file , diffs , options , status )
255251    if  options .output :
252+         if  not  options .include_empty :
253+             diffs  =  filter_empty (options .include_empty , diffs )
256254        json_dump (options .output , diffs ,
257255                   error_msg = f"Failed to export diff results to { options .output }  ,
258256                   success_msg = f"Diff results written to { options .output }  )
@@ -293,8 +291,7 @@ def summarize_bom_diffs(bom_1: BomDicts, bom_2: BomDicts, commons: BomDicts) ->
293291    summary_1  =  generate_bom_diff (bom_1 , commons , common_refs )
294292    summary_2  =  generate_bom_diff (bom_2 , commons_2 , common_refs )
295293    status  =  max (get_bom_status (summary_1 ), get_bom_status (summary_2 ))
296-     return  status , {bom_1 .filename : filter_empty (bom_1 .options .include_empty , summary_1 ),
297-                     bom_2 .filename : filter_empty (bom_1 .options .include_empty , summary_2 )}
294+     return  status , {bom_1 .filename : summary_1 , bom_2 .filename : summary_2 }
298295
299296
300297def  summarize_csaf_diffs (csaf_1 : CsafDicts , csaf_2 : CsafDicts , commons : CsafDicts ) ->  Tuple [int , Dict ]:
@@ -304,4 +301,4 @@ def summarize_csaf_diffs(csaf_1: CsafDicts, csaf_2: CsafDicts, commons: CsafDict
304301    diff_summary  =  generate_csaf_diff (csaf_1 , commons , common_refs )
305302    diff_summary  |=  generate_csaf_diff (csaf_2 , commons_2 , common_refs )
306303    status  =  max (get_csaf_status (diff_summary [csaf_1 .filename ]), get_csaf_status (diff_summary [csaf_2 .filename ]))
307-     return  status , filter_empty ( csaf_1 . options . include_empty ,  diff_summary ) 
304+     return  status , diff_summary 
0 commit comments