@@ -201,60 +201,66 @@ def merge_yamls(_output_dir, merge_yaml_files, final_report, remove_src_data=Fal
201201 return success , err_msg
202202
203203
204- def correct_scanner_result (_output_dir , output_files ):
204+ def correct_scanner_result (_output_dir , output_files , exist_src , exist_bin ):
205205 src_oss_list = []
206206 bin_oss_list = []
207+ duplicates = False
207208
208- try :
209+ if exist_src :
209210 src_oss_list = check_exclude_dir (get_osslist_with_xlsx (_output_dir , output_files ['SRC' ], SRC_SHEET ))
211+ if exist_bin :
210212 bin_oss_list = check_exclude_dir (get_osslist_with_xlsx (_output_dir , output_files ['BIN' ], BIN_SHEET ))
211213
212- duplicates = False
213- dup_bin_list = []
214- exclude_list = []
215- for src_item in src_oss_list :
216- dup_bin = ''
217- for idx , bin_item in enumerate (bin_oss_list ):
218- if not src_item .source_name_or_path :
219- continue
220- if src_item .source_name_or_path [0 ] == bin_item .source_name_or_path [0 ]:
221- dup_bin = copy .deepcopy (bin_item )
222- if not dup_bin .license :
223- if dup_bin .exclude :
224- src_item .exclude = dup_bin .exclude
225- dup_bin .set_sheet_item (src_item .get_print_array ()[0 ])
226- if dup_bin .comment :
227- dup_bin .comment += '/'
228- dup_bin .comment += 'Loaded from SRC OSS info'
229- dup_bin_list .append (dup_bin )
230- exclude_list .append (idx )
231- if dup_bin :
232- src_item .exclude = True
233- if src_item .comment :
234- src_item .comment += '/'
235- src_item .comment += 'Excluded by duplicated binary within BIN'
236- duplicates = True
237-
238- exclude_list = list (set (exclude_list ))
239- for idx in exclude_list :
240- bin_oss_list [idx ].exclude = True
241- if bin_oss_list [idx ].comment :
242- bin_oss_list [idx ].comment += '/'
243- bin_oss_list [idx ].comment += 'Excluded by SRC OSS info'
244- bin_oss_list .extend (dup_bin_list )
245-
246- success , err_msg = write_xlsx_with_osslist (src_oss_list , _output_dir , output_files ['SRC' ], SRC_SHEET )
247- if not success :
248- logger .warning (err_msg )
249- success , err_msg = write_xlsx_with_osslist (bin_oss_list , _output_dir , output_files ['BIN' ], BIN_SHEET )
250- if not success :
251- logger .warning (err_msg )
214+ if exist_src and exist_bin :
215+ try :
216+ dup_bin_list = []
217+ exclude_list = []
218+ for src_item in src_oss_list :
219+ dup_bin = ''
220+ for idx , bin_item in enumerate (bin_oss_list ):
221+ if not src_item .source_name_or_path :
222+ continue
223+ if src_item .source_name_or_path [0 ] == bin_item .source_name_or_path [0 ]:
224+ dup_bin = copy .deepcopy (bin_item )
225+ if not dup_bin .license :
226+ if dup_bin .exclude :
227+ src_item .exclude = dup_bin .exclude
228+ dup_bin .set_sheet_item (src_item .get_print_array ()[0 ])
229+ if dup_bin .comment :
230+ dup_bin .comment += '/'
231+ dup_bin .comment += 'Loaded from SRC OSS info'
232+ dup_bin_list .append (dup_bin )
233+ exclude_list .append (idx )
234+ if dup_bin :
235+ src_item .exclude = True
236+ if src_item .comment :
237+ src_item .comment += '/'
238+ src_item .comment += 'Excluded by duplicated binary within BIN'
239+ duplicates = True
240+
241+ exclude_list = list (set (exclude_list ))
242+ for idx in exclude_list :
243+ bin_oss_list [idx ].exclude = True
244+ if bin_oss_list [idx ].comment :
245+ bin_oss_list [idx ].comment += '/'
246+ bin_oss_list [idx ].comment += 'Excluded by SRC OSS info'
247+ bin_oss_list .extend (dup_bin_list )
248+ except Exception as ex :
249+ logger .warning (f"correct the scanner result:{ ex } " )
250+
251+ try :
252+ if exist_src :
253+ success , err_msg = write_xlsx_with_osslist (src_oss_list , _output_dir , output_files ['SRC' ], SRC_SHEET )
254+ if not success :
255+ logger .warning (err_msg )
256+ if exist_bin :
257+ success , err_msg = write_xlsx_with_osslist (bin_oss_list , _output_dir , output_files ['BIN' ], BIN_SHEET )
258+ if not success :
259+ logger .warning (err_msg )
252260 if duplicates :
253261 logger .info ('Success to correct the src/bin scanner result' )
254-
255262 except Exception as ex :
256- logger .warning (f"correct the scanner result:{ ex } " )
257-
263+ logger .warning (f"Corrected src/bin scanner result:{ ex } " )
258264 return
259265
260266
0 commit comments