Loading sbom_scanner/scan.py +26 −29 Original line number Diff line number Diff line Loading @@ -130,6 +130,18 @@ class DtProjectDef: return None return self.definition.split("@")[1] if "@" in self.definition else None @property def params(self) -> dict[str, str]: params = {} if self.is_uuid: # target project definition is a UUID: nothing more is required params["project"] = self.uuid else: # target project definition is a project name: assume exists or set autoCreate with parent if permission PROJECT_CREATION_UPLOAD params["projectName"] = self.name params["projectVersion"] = self.version return params class Version: def __init__(self, version_str): Loading Loading @@ -525,15 +537,8 @@ class Scanner: ): project_path_parts = project_path.split(self.path_separator) # determine publish params params = {} project_def = DtProjectDef(project_path_parts[-1]) if project_def.is_uuid: # target project definition is a UUID: nothing more is required params["project"] = project_def.uuid else: # target project definition is a project name: assume exists or set autoCreate with parent if permission PROJECT_CREATION_UPLOAD params["projectName"] = project_def.name params["projectVersion"] = project_def.version params = project_def.params if self.has_permission(DtPermission.PROJECT_CREATION_UPLOAD): params["autoCreate"] = "true" Loading Loading @@ -606,15 +611,6 @@ class Scanner: def do_vex_publish(self, project_def: DtProjectDef, vex_file_path: Path, event_id: str): self.wait_for_event_processing(event_id) params = {} if project_def.is_uuid: # target project definition is a UUID: nothing more is required params["project"] = project_def.uuid else: # target project definition is a project name: assume exists or set autoCreate with parent if permission PROJECT_CREATION_UPLOAD params["projectName"] = project_def.name params["projectVersion"] = project_def.version if not vex_file_path.exists(): print( f"- VEX file {AnsiColors.YELLOW}not found, skipping upload{AnsiColors.RESET}: {AnsiColors.HGRAY}{vex_file_path}{AnsiColors.RESET}" Loading @@ -622,6 +618,7 @@ class Scanner: return event_id with open(vex_file_path, "r") as vex_file: params = project_def.params resp = requests.post( f"{self.base_api_url}/v1/vex", headers={"X-API-Key": self.api_key, "accept": MIME_APPLICATION_JSON}, Loading Loading
sbom_scanner/scan.py +26 −29 Original line number Diff line number Diff line Loading @@ -130,6 +130,18 @@ class DtProjectDef: return None return self.definition.split("@")[1] if "@" in self.definition else None @property def params(self) -> dict[str, str]: params = {} if self.is_uuid: # target project definition is a UUID: nothing more is required params["project"] = self.uuid else: # target project definition is a project name: assume exists or set autoCreate with parent if permission PROJECT_CREATION_UPLOAD params["projectName"] = self.name params["projectVersion"] = self.version return params class Version: def __init__(self, version_str): Loading Loading @@ -525,15 +537,8 @@ class Scanner: ): project_path_parts = project_path.split(self.path_separator) # determine publish params params = {} project_def = DtProjectDef(project_path_parts[-1]) if project_def.is_uuid: # target project definition is a UUID: nothing more is required params["project"] = project_def.uuid else: # target project definition is a project name: assume exists or set autoCreate with parent if permission PROJECT_CREATION_UPLOAD params["projectName"] = project_def.name params["projectVersion"] = project_def.version params = project_def.params if self.has_permission(DtPermission.PROJECT_CREATION_UPLOAD): params["autoCreate"] = "true" Loading Loading @@ -606,15 +611,6 @@ class Scanner: def do_vex_publish(self, project_def: DtProjectDef, vex_file_path: Path, event_id: str): self.wait_for_event_processing(event_id) params = {} if project_def.is_uuid: # target project definition is a UUID: nothing more is required params["project"] = project_def.uuid else: # target project definition is a project name: assume exists or set autoCreate with parent if permission PROJECT_CREATION_UPLOAD params["projectName"] = project_def.name params["projectVersion"] = project_def.version if not vex_file_path.exists(): print( f"- VEX file {AnsiColors.YELLOW}not found, skipping upload{AnsiColors.RESET}: {AnsiColors.HGRAY}{vex_file_path}{AnsiColors.RESET}" Loading @@ -622,6 +618,7 @@ class Scanner: return event_id with open(vex_file_path, "r") as vex_file: params = project_def.params resp = requests.post( f"{self.base_api_url}/v1/vex", headers={"X-API-Key": self.api_key, "accept": MIME_APPLICATION_JSON}, Loading