@@ -96,15 +96,15 @@ def get_observations(self, data: dict, product: Product, branch: Optional[Branch
96
96
payload = base64 .b64decode (cosign_output ["payload" ]).decode ("utf-8" )
97
97
sbom_data = json .loads (payload )["predicate" ]
98
98
99
- self .components = self ._get_components (data , sbom_data )
100
- self .dependencies = self ._get_dependencies (data )
101
- observations = self ._create_observations (data , sbom_data )
99
+ self .components = self ._get_components (sbom_data or data )
100
+ self .dependencies = self ._get_dependencies (sbom_data or data )
101
+ observations = self ._create_observations (data )
102
102
103
103
return observations
104
104
105
105
def get_license_components (self , data : dict ) -> list [License_Component ]:
106
106
if not self .components :
107
- self .components = self ._get_components (data , None )
107
+ self .components = self ._get_components (data )
108
108
if not self .metadata :
109
109
self .metadata = self ._get_metadata (data )
110
110
if not self .dependencies :
@@ -139,7 +139,7 @@ def _add_license_component_evidence(
139
139
evidence .append (dumps (component .json ))
140
140
license_component .unsaved_evidences .append (evidence )
141
141
142
- def _get_components (self , data : dict , sbom_data : Optional [ dict ] ) -> dict [str , Component ]:
142
+ def _get_components (self , data : dict ) -> dict [str , Component ]:
143
143
components_dict = {}
144
144
components_list : list [Component ] = []
145
145
@@ -151,15 +151,6 @@ def _get_components(self, data: dict, sbom_data: Optional[dict]) -> dict[str, Co
151
151
components = self ._get_sbom_component_with_subs (sbom_component )
152
152
components_list .extend (components )
153
153
154
- if sbom_data :
155
- root_components = self ._get_root_component_with_subs (sbom_data )
156
- components_list .extend (root_components )
157
-
158
- sbom_components = sbom_data .get ("components" , [])
159
- for sbom_component in sbom_components :
160
- components = self ._get_sbom_component_with_subs (sbom_component )
161
- components_list .extend (components )
162
-
163
154
for component in components_list :
164
155
components_dict [component .bom_ref ] = component
165
156
@@ -223,14 +214,10 @@ def _get_component(self, component_data: dict[str, Any]) -> Optional[Component]:
223
214
def _create_observations ( # pylint: disable=too-many-locals
224
215
self ,
225
216
data : dict ,
226
- sbom_data : Optional [dict ],
227
217
) -> list [Observation ]:
228
218
observations = []
229
219
component_dependencies_cache : dict [str , str ] = {}
230
220
231
- if not sbom_data :
232
- sbom_data = data
233
-
234
221
for vulnerability in data .get ("vulnerabilities" , []):
235
222
vulnerability_id = vulnerability .get ("id" )
236
223
cvss3_score , cvss3_vector = self ._get_cvss (vulnerability , 3 )
0 commit comments