@@ -74,13 +74,19 @@ def format(
7474 if self .output_desc :
7575 header .append ("Description" )
7676 vuln_data .append (header )
77- for dep , vulns in result .items ():
78- if dep .is_skipped ():
79- continue
80- dep = cast (service .ResolvedDependency , dep )
81- applied_fix = next ((f for f in fixes if f .dep == dep ), None )
82- for vuln in vulns :
83- vuln_data .append (self ._format_vuln (dep , vuln , applied_fix ))
77+
78+ vuln_rows = [
79+ self ._format_vuln (
80+ cast (service .ResolvedDependency , dep ),
81+ vuln ,
82+ next ((f for f in fixes if f .dep == dep ), None ),
83+ )
84+ for dep , vulns in result .items ()
85+ if not dep .is_skipped ()
86+ for vuln in vulns
87+ ]
88+
89+ vuln_data .extend (vuln_rows )
8490
8591 columns_string = ""
8692
@@ -90,37 +96,29 @@ def format(
9096
9197 # Create and add a separator.
9298 if len (vuln_data ) > 0 :
93- vuln_strings .insert (1 , " " .join (map ( lambda x : "-" * x , sizes ) ))
99+ vuln_strings .insert (1 , " " .join ("-" * x for x in sizes ))
94100
95101 for row in vuln_strings :
96102 if columns_string :
97103 columns_string += "\n "
98104 columns_string += row
99105
100106 # Now display the skipped dependencies
101- skip_data : list [list [Any ]] = []
102- skip_header = ["Name" , "Skip Reason" ]
103-
104- skip_data .append (skip_header )
105- for dep , _ in result .items ():
106- if dep .is_skipped ():
107- dep = cast (service .SkippedDependency , dep )
108- skip_data .append (self ._format_skipped_dep (dep ))
109-
110- # If we only have the header, that means that we haven't skipped any dependencies
111- # In that case, don't bother printing the header
112- if len (skip_data ) <= 1 :
113- return columns_string
114-
115- skip_strings , sizes = tabulate (skip_data )
107+ skip_data = [
108+ self ._format_skipped_dep (cast (service .SkippedDependency , dep ))
109+ for dep in result .keys ()
110+ if dep .is_skipped ()
111+ ]
116112
117- # Create separator for skipped dependencies columns
118- skip_strings .insert (1 , " " .join (map (lambda x : "-" * x , sizes )))
113+ if skip_data :
114+ skip_data .insert (0 , ["Name" , "Skip Reason" ])
115+ skip_strings , sizes = tabulate (skip_data )
116+ skip_strings .insert (1 , " " .join ("-" * x for x in sizes ))
119117
120- for row in skip_strings :
121- if columns_string :
122- columns_string += "\n "
123- columns_string += row
118+ for row in skip_strings :
119+ if columns_string :
120+ columns_string += "\n "
121+ columns_string += row
124122
125123 return columns_string
126124
0 commit comments