Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 15 additions & 8 deletions cycode/cli/commands/scan/code_scanner.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,11 +140,13 @@ def _get_scan_documents_thread_func(
severity_threshold = context.obj['severity_threshold']
command_scan_type = context.info_name

scan_parameters['aggregation_id'] = str(_generate_unique_id())

def _scan_batch_thread_func(batch: List[Document]) -> Tuple[str, CliError, LocalScanResult]:
local_scan_result = error = error_message = None
detections_count = relevant_detections_count = zip_file_size = 0

scan_id = str(_get_scan_id())
scan_id = str(_generate_unique_id())
scan_completed = False

try:
Expand Down Expand Up @@ -269,6 +271,9 @@ def scan_documents(
is_commit_range: bool = False,
scan_parameters: Optional[dict] = None,
) -> None:
if not scan_parameters:
scan_parameters = get_default_scan_parameters(context)

progress_bar = context.obj['progress_bar']

if not documents_to_scan:
Expand Down Expand Up @@ -309,7 +314,7 @@ def scan_commit_range_documents(

local_scan_result = error_message = None
scan_completed = False
scan_id = str(_get_scan_id())
scan_id = str(_generate_unique_id())

from_commit_zipped_documents = InMemoryZip()
to_commit_zipped_documents = InMemoryZip()
Expand Down Expand Up @@ -570,12 +575,18 @@ def get_default_scan_parameters(context: click.Context) -> dict:
'report': context.obj.get('report'),
'package_vulnerabilities': context.obj.get('package-vulnerabilities'),
'license_compliance': context.obj.get('license-compliance'),
'command_type': context.info_name,
}


def get_scan_parameters(context: click.Context, paths: Tuple[str]) -> dict:
scan_parameters = get_default_scan_parameters(context)

if not paths:
return scan_parameters

scan_parameters['paths'] = paths

if len(paths) != 1:
# ignore remote url if multiple paths are provided
return scan_parameters
Expand All @@ -584,11 +595,7 @@ def get_scan_parameters(context: click.Context, paths: Tuple[str]) -> dict:
if remote_url:
# TODO(MarshalX): remove hardcode in context
context.obj['remote_url'] = remote_url
scan_parameters.update(
{
'remote_url': remote_url,
}
)
scan_parameters['remote_url'] = remote_url

return scan_parameters

Expand Down Expand Up @@ -749,7 +756,7 @@ def _report_scan_status(
logger.debug('Failed to report scan status, %s', {'exception_message': str(e)})


def _get_scan_id() -> UUID:
def _generate_unique_id() -> UUID:
return uuid4()


Expand Down