2323from fosslight_util .output_format import check_output_format
2424from fosslight_prechecker ._precheck import run_lint as prechecker_lint
2525from .common import (copy_file , call_analysis_api ,
26- overwrite_excel , extract_name_from_link ,
26+ overwrite_excel ,
2727 merge_yamls , correct_scanner_result ,
2828 create_scancodejson )
2929from fosslight_util .write_excel import merge_excels
@@ -104,7 +104,7 @@ def run_scanner(src_path, dep_arguments, output_path, keep_raw_data=False,
104104 run_src = True , run_bin = True , run_dep = True , run_prechecker = True ,
105105 remove_src_data = True , result_log = {}, output_file = "" ,
106106 output_extension = "" , num_cores = - 1 , db_url = "" ,
107- default_oss_name = "" , url = "" ,
107+ default_oss_name = "" , default_oss_version = "" , url = "" ,
108108 correct_mode = True , correct_fpath = "" , ui_mode = False ):
109109 final_excel_dir = output_path
110110 success = True
@@ -206,6 +206,7 @@ def run_scanner(src_path, dep_arguments, output_path, keep_raw_data=False,
206206
207207 if remove_src_data :
208208 overwrite_excel (_output_dir , default_oss_name , "OSS Name" )
209+ overwrite_excel (_output_dir , default_oss_version , "OSS Version" )
209210 overwrite_excel (_output_dir , url , "Download Location" )
210211 success , err_msg = merge_excels (_output_dir , final_report , merge_files )
211212
@@ -219,7 +220,7 @@ def run_scanner(src_path, dep_arguments, output_path, keep_raw_data=False,
219220 shutil .rmtree (os .path .join (_output_dir , tmp_dir ), ignore_errors = True )
220221 elif output_extension == ".yaml" :
221222 success , err_msg = merge_yamls (_output_dir , merge_files , final_report ,
222- remove_src_data , default_oss_name , url )
223+ remove_src_data , default_oss_name , default_oss_version , url )
223224 if success :
224225 if os .path .isfile (final_report ):
225226 logger .info (f'Generated the result file: { final_report } ' )
@@ -254,14 +255,16 @@ def download_source(link, out_dir):
254255 start_time = datetime .now ().strftime ('%Y%m%d_%H%M%S' )
255256 success = False
256257 temp_src_dir = ""
258+ oss_name = ""
259+ oss_version = ""
257260 try :
258261 success , final_excel_dir , result_log = init (out_dir )
259262 temp_src_dir = os .path .join (
260263 _output_dir , SRC_DIR_FROM_LINK_PREFIX + start_time )
261264
262265 link = link .strip ()
263266 logger .info (f"Link to download: { link } " )
264- success , msg = cli_download_and_extract (
267+ success , msg , oss_name , oss_version = cli_download_and_extract (
265268 link , temp_src_dir , _output_dir )
266269
267270 if success :
@@ -272,7 +275,7 @@ def download_source(link, out_dir):
272275 except Exception as ex :
273276 success = False
274277 logger .error (f"Failed to analyze from link: { ex } " )
275- return success , temp_src_dir
278+ return success , temp_src_dir , oss_name , oss_version
276279
277280
278281def init (output_path = "" , make_outdir = True ):
@@ -305,6 +308,7 @@ def run_main(mode, path_arg, dep_arguments, output_file_or_dir, file_format, url
305308
306309 output_file = ""
307310 default_oss_name = ""
311+ default_oss_version = ""
308312 src_path = ""
309313 _executed_path = os .getcwd ()
310314
@@ -392,8 +396,7 @@ def run_main(mode, path_arg, dep_arguments, output_file_or_dir, file_format, url
392396
393397 if url_to_analyze != "" :
394398 remove_downloaded_source = True
395- default_oss_name = extract_name_from_link (url_to_analyze )
396- success , src_path = download_source (url_to_analyze , output_path )
399+ success , src_path , default_oss_name , default_oss_version = download_source (url_to_analyze , output_path )
397400
398401 if output_extension == ".yaml" :
399402 correct_mode = False
@@ -407,7 +410,7 @@ def run_main(mode, path_arg, dep_arguments, output_file_or_dir, file_format, url
407410 run_src , run_bin , run_dep , run_prechecker ,
408411 remove_downloaded_source , {}, output_file ,
409412 output_extension , num_cores , db_url ,
410- default_oss_name , url_to_analyze ,
413+ default_oss_name , default_oss_version , url_to_analyze ,
411414 correct_mode , correct_fpath , ui_mode )
412415 else :
413416 logger .error ("No mode has been selected for analysis." )
0 commit comments