def build_tool(self, doc, entity):
     """Builds a tool object out of a string representation.
     Returns built tool. Raises SPDXValueError if failed to extract
     tool name or name is malformed
     """
     match = self.tool_re.match(entity)
     if match and validations.validate_tool_name(match.group(self.TOOL_NAME_GROUP)):
         name = match.group(self.TOOL_NAME_GROUP)
         return creationinfo.Tool(name)
     else:
         raise SPDXValueError('Failed to extract tool name')
示例#2
0
def create_document(token: str) -> Document:
    logging.debug(f"Creating SBOM Document section")
    global ws_conn
    scope_name = ws_conn.get_scope_name_by_token(token)
    document = Document(name=f"WhiteSource {scope_name} SBOM report",
                        namespace=extra_conf.get('namespace'),
                        spdx_id="SPDXRef-DOCUMENT",
                        version=version.Version(2, 2),
                        data_license=License.from_identifier("CC0-1.0"))

    logging.debug(f"Creating SBOM Creation Info section")
    document.creation_info.set_created_now()
    org = creationinfo.Organization(ws_conn.get_name(),
                                    extra_conf.get('org_email'))
    tool = creationinfo.Tool("White Source SBOM Report Generator")
    person = creationinfo.Person(extra_conf.get('person'),
                                 extra_conf.get('person_email'))
    document.creation_info.add_creator(org)
    document.creation_info.add_creator(tool)
    document.creation_info.add_creator(person)
    logging.debug(f"Finished SBOM Document section")

    return document