def create_package(self, doc, name):
     """Creates a package for the SPDX Document.
     name - any string.
     Raises CardinalityError if package already defined.
     """
     if not self.package_set:
         self.package_set = True
         doc.package = package.Package(name=name)
         return True
     else:
         raise CardinalityError('Package::Name')
示例#2
0
def create_package(package_name: str, licenses_dict: dict,
                   p_id: int) -> package.Package:
    logging.debug(f"Creating SBOM Package section")
    pkg = package.Package(name=package_name,
                          spdx_id=f"SPDXRef-PACKAGE-{p_id}",
                          download_location=extra_conf.get(
                              'package_location', NoAssert()))
    pkg.check_sum = Algorithm(identifier="SHA1",
                              value=extra_conf.get('package_sha1', NoAssert()))
    pkg.license_declared = get_license_obj(
        extra_conf.get('package_license_identifier'), licenses_dict)
    pkg.conc_lics = get_license_obj(extra_conf.get('package_conc_licenses'),
                                    licenses_dict)
    pkg.cr_text = extra_conf.get('package_copyright_text', NoAssert())
    pkg.supplier = creationinfo.Person(
        extra_conf.get('package_supplier', SPDXNone()),
        extra_conf.get('package_supplier_email', SPDXNone()))

    logging.debug(f"Finished SBOM package section")

    return pkg