@@ -39,10 +39,11 @@ def print_scan_results(
39
39
40
40
for local_scan_result in local_scan_results :
41
41
for document_detections in local_scan_result .document_detections :
42
- self ._print_document_detections (
43
- document_detections , local_scan_result .scan_id , local_scan_result .report_url
44
- )
42
+ self ._print_document_detections (document_detections , local_scan_result .scan_id )
45
43
44
+ report_urls = [scan_result .report_url for scan_result in local_scan_results if scan_result .report_url ]
45
+
46
+ self ._print_report_urls (report_urls , self .context .obj .get ('aggregation_report_url' ))
46
47
if not errors :
47
48
return
48
49
@@ -55,27 +56,21 @@ def print_scan_results(
55
56
click .echo (f'- { scan_id } : ' , nl = False )
56
57
self .print_error (error )
57
58
58
- def _print_document_detections (
59
- self , document_detections : DocumentDetections , scan_id : str , report_url : Optional [str ]
60
- ) -> None :
59
+ def _print_document_detections (self , document_detections : DocumentDetections , scan_id : str ) -> None :
61
60
document = document_detections .document
62
61
lines_to_display = self ._get_lines_to_display_count ()
63
62
for detection in document_detections .detections :
64
- self ._print_detection_summary (detection , document .path , scan_id , report_url )
63
+ self ._print_detection_summary (detection , document .path , scan_id )
65
64
self ._print_detection_code_segment (detection , document , lines_to_display )
66
65
67
- def _print_detection_summary (
68
- self , detection : Detection , document_path : str , scan_id : str , report_url : Optional [str ]
69
- ) -> None :
66
+ def _print_detection_summary (self , detection : Detection , document_path : str , scan_id : str ) -> None :
70
67
detection_name = detection .type if self .scan_type == SECRET_SCAN_TYPE else detection .message
71
68
detection_name_styled = click .style (detection_name , fg = 'bright_red' , bold = True )
72
69
73
70
detection_sha = detection .detection_details .get ('sha512' )
74
71
detection_sha_message = f'\n Secret SHA: { detection_sha } ' if detection_sha else ''
75
72
76
73
scan_id_message = f'\n Scan ID: { scan_id } '
77
- report_url_message = f'\n Report URL: { report_url } ' if report_url else ''
78
-
79
74
detection_commit_id = detection .detection_details .get ('commit_id' )
80
75
detection_commit_id_message = f'\n Commit SHA: { detection_commit_id } ' if detection_commit_id else ''
81
76
@@ -88,7 +83,6 @@ def _print_detection_summary(
88
83
f'(rule ID: { detection .detection_rule_id } ) in file: { click .format_filename (document_path )} '
89
84
f'{ detection_sha_message } '
90
85
f'{ scan_id_message } '
91
- f'{ report_url_message } '
92
86
f'{ detection_commit_id_message } '
93
87
f'{ company_guidelines_message } '
94
88
f' ⛔'
@@ -101,6 +95,18 @@ def _print_detection_code_segment(self, detection: Detection, document: Document
101
95
102
96
self ._print_detection_from_file (detection , document , code_segment_size )
103
97
98
+ @staticmethod
99
+ def _print_report_urls (report_urls : List [str ], aggregation_report_url : Optional [str ] = None ) -> None :
100
+ if not report_urls and not aggregation_report_url :
101
+ return
102
+ if aggregation_report_url :
103
+ click .echo (f'Report URL: { aggregation_report_url } ' )
104
+ return
105
+
106
+ click .echo ('Report URLs:' )
107
+ for report_url in report_urls :
108
+ click .echo (f'- { report_url } ' )
109
+
104
110
@staticmethod
105
111
def _get_code_segment_start_line (detection_line : int , code_segment_size : int ) -> int :
106
112
start_line = detection_line - math .ceil (code_segment_size / 2 )
0 commit comments