1616from cycode .cli .exceptions .handle_scan_errors import handle_scan_exception
1717from cycode .cli .files_collector .excluder import exclude_irrelevant_documents_to_scan
1818from cycode .cli .files_collector .models .in_memory_zip import InMemoryZip
19- from cycode .cli .files_collector .path_documents import get_relevant_document
19+ from cycode .cli .files_collector .path_documents import get_relevant_documents
2020from cycode .cli .files_collector .repository_documents import (
2121 get_commit_range_modified_documents ,
2222 get_diff_file_path ,
@@ -68,7 +68,7 @@ def scan_sca_commit_range(context: click.Context, path: str, commit_range: str)
6868 scan_type = context .obj ['scan_type' ]
6969 progress_bar = context .obj ['progress_bar' ]
7070
71- scan_parameters = get_scan_parameters (context , path )
71+ scan_parameters = get_scan_parameters (context , ( path ,) )
7272 from_commit_rev , to_commit_rev = parse_commit_range (commit_range , path )
7373 from_commit_documents , to_commit_documents = get_commit_range_modified_documents (
7474 progress_bar , ScanProgressBarSection .PREPARE_LOCAL_FILES , path , from_commit_rev , to_commit_rev
@@ -82,13 +82,13 @@ def scan_sca_commit_range(context: click.Context, path: str, commit_range: str)
8282 scan_commit_range_documents (context , from_commit_documents , to_commit_documents , scan_parameters = scan_parameters )
8383
8484
85- def scan_disk_files (context : click .Context , path : str ) -> None :
86- scan_parameters = get_scan_parameters (context , path )
85+ def scan_disk_files (context : click .Context , paths : Tuple [ str ] ) -> None :
86+ scan_parameters = get_scan_parameters (context , paths )
8787 scan_type = context .obj ['scan_type' ]
8888 progress_bar = context .obj ['progress_bar' ]
8989
9090 try :
91- documents = get_relevant_document (progress_bar , ScanProgressBarSection .PREPARE_LOCAL_FILES , scan_type , path )
91+ documents = get_relevant_documents (progress_bar , ScanProgressBarSection .PREPARE_LOCAL_FILES , scan_type , paths )
9292 perform_pre_scan_documents_actions (context , scan_type , documents )
9393 scan_documents (context , documents , scan_parameters = scan_parameters )
9494 except Exception as e :
@@ -535,22 +535,31 @@ def get_default_scan_parameters(context: click.Context) -> dict:
535535 }
536536
537537
538- def get_scan_parameters (context : click .Context , path : str ) -> dict :
538+ def get_scan_parameters (context : click .Context , paths : Tuple [ str ] ) -> dict :
539539 scan_parameters = get_default_scan_parameters (context )
540- remote_url = try_get_git_remote_url (path )
540+
541+ if len (paths ) != 1 :
542+ # ignore remote url if multiple paths are provided
543+ return scan_parameters
544+
545+ remote_url = try_get_git_remote_url (paths [0 ])
541546 if remote_url :
542- # TODO(MarshalX): remove hardcode
547+ # TODO(MarshalX): remove hardcode in context
543548 context .obj ['remote_url' ] = remote_url
544- scan_parameters .update (remote_url )
549+ scan_parameters .update (
550+ {
551+ 'remote_url' : remote_url ,
552+ }
553+ )
554+
545555 return scan_parameters
546556
547557
548- def try_get_git_remote_url (path : str ) -> Optional [dict ]:
558+ def try_get_git_remote_url (path : str ) -> Optional [str ]:
549559 try :
550- git_remote_url = Repo (path ).remotes [0 ].config_reader .get ('url' )
551- return {
552- 'remote_url' : git_remote_url ,
553- }
560+ remote_url = Repo (path ).remotes [0 ].config_reader .get ('url' )
561+ logger .debug (f'Found Git remote URL "{ remote_url } " in path "{ path } "' )
562+ return remote_url
554563 except Exception as e :
555564 logger .debug ('Failed to get git remote URL. %s' , {'exception_message' : str (e )})
556565 return None
0 commit comments