@@ -95,24 +95,12 @@ def __init__( # noqa: PLR0913, PLR0915
95
95
)
96
96
self .cdx = CycloneDx (debug = self .debug )
97
97
98
- def load_comps (self , json_file : Optional [str ] = None , purls : Optional [List [str ]] = None )-> Optional [dict ]:
99
- """
100
- Load the specified components and return a dictionary
101
-
102
- :param json_file: JSON Components file (optional)
103
- :param purls: list pf PURLs (optional)
104
- :return: Components Request dictionary or None
105
- """
106
- return self .load_purls (json_file , purls , 'components' )
107
-
108
- def load_purls (self , json_file : Optional [str ] = None , purls : Optional [List [str ]] = None , field :str = 'purls'
109
- ) -> Optional [dict ]:
98
+ def load_purls (self , json_file : Optional [str ] = None , purls : Optional [List [str ]] = None ) -> Optional [dict ]:
110
99
"""
111
100
Load the specified purls and return a dictionary
112
101
113
102
:param json_file: JSON PURL file (optional)
114
103
:param purls: list of PURLs (optional)
115
- :param field: Name of the dictionary field to store the purls in (default: 'purls')
116
104
:return: PURL Request dictionary or None
117
105
"""
118
106
if json_file :
@@ -132,14 +120,14 @@ def load_purls(self, json_file: Optional[str] = None, purls: Optional[List[str]]
132
120
parsed_purls = []
133
121
for p in purls :
134
122
parsed_purls .append ({'purl' : p })
135
- purl_request = {field : parsed_purls }
123
+ purl_request = {'purls' : parsed_purls }
136
124
else :
137
125
self .print_stderr ('ERROR: No purls specified to process.' )
138
126
return None
139
- purl_count = len (purl_request .get (field , []))
140
- self .print_debug (f'Parsed { field } ({ purl_count } ): { purl_request } ' )
127
+ purl_count = len (purl_request .get ('purls' , []))
128
+ self .print_debug (f'Parsed purls ({ purl_count } ): { purl_request } ' )
141
129
if purl_count == 0 :
142
- self .print_stderr (f 'ERROR: No { field } parsed from request.' )
130
+ self .print_stderr ('ERROR: No purls parsed from request.' )
143
131
return None
144
132
return purl_request
145
133
@@ -225,9 +213,15 @@ def get_vulnerabilities(self, json_file: str = None, purls: [] = None, output_fi
225
213
:return: True on success, False otherwise
226
214
"""
227
215
success = False
228
- purls_request = self .load_comps (json_file , purls )
229
- if purls_request is None or len (purls_request ) == 0 :
216
+ purls_request = self .load_purls (json_file , purls )
217
+
218
+ if purls_request .get ('purls' ) is None or len (purls_request .get ('purls' )) == 0 :
230
219
return False
220
+
221
+ # Workaround for new gRPC API
222
+ purls_request ['components' ] = purls_request ['purls' ]
223
+ del purls_request ['purls' ]
224
+
231
225
file = self ._open_file_or_sdtout (output_file )
232
226
if file is None :
233
227
return False
0 commit comments