spdx_tools.spdx3.model.software.package

 1# SPDX-FileCopyrightText: 2023 spdx contributors
 2#
 3# SPDX-License-Identifier: Apache-2.0
 4from datetime import datetime
 5
 6from beartype.typing import List, Optional
 7
 8from spdx_tools.common.typing.dataclass_with_properties import dataclass_with_properties
 9from spdx_tools.common.typing.type_checks import check_types_and_set_values
10from spdx_tools.spdx3.model import CreationInfo, ExternalIdentifier, ExternalReference, IntegrityMethod
11from spdx_tools.spdx3.model.licensing import LicenseField
12from spdx_tools.spdx3.model.software import SoftwarePurpose
13from spdx_tools.spdx3.model.software.software_artifact import SoftwareArtifact
14
15
16@dataclass_with_properties
17class Package(SoftwareArtifact):
18    package_version: Optional[str] = None
19    download_location: Optional[str] = None  # anyURI
20    package_url: Optional[str] = None  # anyURI
21    homepage: Optional[str] = None  # anyURI
22    source_info: Optional[str] = None
23
24    def __init__(
25        self,
26        spdx_id: str,
27        name: str,
28        creation_info: Optional[CreationInfo] = None,
29        summary: Optional[str] = None,
30        description: Optional[str] = None,
31        comment: Optional[str] = None,
32        verified_using: List[IntegrityMethod] = None,
33        external_reference: List[ExternalReference] = None,
34        external_identifier: List[ExternalIdentifier] = None,
35        extension: Optional[str] = None,
36        originated_by: List[str] = None,
37        supplied_by: List[str] = None,
38        built_time: Optional[datetime] = None,
39        release_time: Optional[datetime] = None,
40        valid_until_time: Optional[datetime] = None,
41        standard: List[str] = None,
42        content_identifier: Optional[str] = None,
43        primary_purpose: Optional[SoftwarePurpose] = None,
44        additional_purpose: List[SoftwarePurpose] = None,
45        concluded_license: Optional[LicenseField] = None,
46        declared_license: Optional[LicenseField] = None,
47        copyright_text: Optional[str] = None,
48        attribution_text: Optional[str] = None,
49        package_version: Optional[str] = None,
50        download_location: Optional[str] = None,
51        package_url: Optional[str] = None,
52        homepage: Optional[str] = None,
53        source_info: Optional[str] = None,
54    ):
55        verified_using = [] if verified_using is None else verified_using
56        external_reference = [] if external_reference is None else external_reference
57        external_identifier = [] if external_identifier is None else external_identifier
58        originated_by = [] if originated_by is None else originated_by
59        supplied_by = [] if supplied_by is None else supplied_by
60        standard = [] if standard is None else standard
61        additional_purpose = [] if additional_purpose is None else additional_purpose
62        check_types_and_set_values(self, locals())
@dataclass_with_properties
class Package(spdx_tools.spdx3.model.software.software_artifact.SoftwareArtifact):
17@dataclass_with_properties
18class Package(SoftwareArtifact):
19    package_version: Optional[str] = None
20    download_location: Optional[str] = None  # anyURI
21    package_url: Optional[str] = None  # anyURI
22    homepage: Optional[str] = None  # anyURI
23    source_info: Optional[str] = None
24
25    def __init__(
26        self,
27        spdx_id: str,
28        name: str,
29        creation_info: Optional[CreationInfo] = None,
30        summary: Optional[str] = None,
31        description: Optional[str] = None,
32        comment: Optional[str] = None,
33        verified_using: List[IntegrityMethod] = None,
34        external_reference: List[ExternalReference] = None,
35        external_identifier: List[ExternalIdentifier] = None,
36        extension: Optional[str] = None,
37        originated_by: List[str] = None,
38        supplied_by: List[str] = None,
39        built_time: Optional[datetime] = None,
40        release_time: Optional[datetime] = None,
41        valid_until_time: Optional[datetime] = None,
42        standard: List[str] = None,
43        content_identifier: Optional[str] = None,
44        primary_purpose: Optional[SoftwarePurpose] = None,
45        additional_purpose: List[SoftwarePurpose] = None,
46        concluded_license: Optional[LicenseField] = None,
47        declared_license: Optional[LicenseField] = None,
48        copyright_text: Optional[str] = None,
49        attribution_text: Optional[str] = None,
50        package_version: Optional[str] = None,
51        download_location: Optional[str] = None,
52        package_url: Optional[str] = None,
53        homepage: Optional[str] = None,
54        source_info: Optional[str] = None,
55    ):
56        verified_using = [] if verified_using is None else verified_using
57        external_reference = [] if external_reference is None else external_reference
58        external_identifier = [] if external_identifier is None else external_identifier
59        originated_by = [] if originated_by is None else originated_by
60        supplied_by = [] if supplied_by is None else supplied_by
61        standard = [] if standard is None else standard
62        additional_purpose = [] if additional_purpose is None else additional_purpose
63        check_types_and_set_values(self, locals())
Package( spdx_id: str, name: str, creation_info: Optional[spdx_tools.spdx3.model.creation_info.CreationInfo] = None, summary: Optional[str] = None, description: Optional[str] = None, comment: Optional[str] = None, verified_using: list[spdx_tools.spdx3.model.integrity_method.IntegrityMethod] = None, external_reference: list[spdx_tools.spdx3.model.external_reference.ExternalReference] = None, external_identifier: list[spdx_tools.spdx3.model.external_identifier.ExternalIdentifier] = None, extension: Optional[str] = None, originated_by: list[str] = None, supplied_by: list[str] = None, built_time: Optional[datetime.datetime] = None, release_time: Optional[datetime.datetime] = None, valid_until_time: Optional[datetime.datetime] = None, standard: list[str] = None, content_identifier: Optional[str] = None, primary_purpose: Optional[spdx_tools.spdx3.model.software.software_purpose.SoftwarePurpose] = None, additional_purpose: list[spdx_tools.spdx3.model.software.software_purpose.SoftwarePurpose] = None, concluded_license: Optional[spdx_tools.spdx3.model.licensing.license_field.LicenseField] = None, declared_license: Optional[spdx_tools.spdx3.model.licensing.license_field.LicenseField] = None, copyright_text: Optional[str] = None, attribution_text: Optional[str] = None, package_version: Optional[str] = None, download_location: Optional[str] = None, package_url: Optional[str] = None, homepage: Optional[str] = None, source_info: Optional[str] = None)
25    def __init__(
26        self,
27        spdx_id: str,
28        name: str,
29        creation_info: Optional[CreationInfo] = None,
30        summary: Optional[str] = None,
31        description: Optional[str] = None,
32        comment: Optional[str] = None,
33        verified_using: List[IntegrityMethod] = None,
34        external_reference: List[ExternalReference] = None,
35        external_identifier: List[ExternalIdentifier] = None,
36        extension: Optional[str] = None,
37        originated_by: List[str] = None,
38        supplied_by: List[str] = None,
39        built_time: Optional[datetime] = None,
40        release_time: Optional[datetime] = None,
41        valid_until_time: Optional[datetime] = None,
42        standard: List[str] = None,
43        content_identifier: Optional[str] = None,
44        primary_purpose: Optional[SoftwarePurpose] = None,
45        additional_purpose: List[SoftwarePurpose] = None,
46        concluded_license: Optional[LicenseField] = None,
47        declared_license: Optional[LicenseField] = None,
48        copyright_text: Optional[str] = None,
49        attribution_text: Optional[str] = None,
50        package_version: Optional[str] = None,
51        download_location: Optional[str] = None,
52        package_url: Optional[str] = None,
53        homepage: Optional[str] = None,
54        source_info: Optional[str] = None,
55    ):
56        verified_using = [] if verified_using is None else verified_using
57        external_reference = [] if external_reference is None else external_reference
58        external_identifier = [] if external_identifier is None else external_identifier
59        originated_by = [] if originated_by is None else originated_by
60        supplied_by = [] if supplied_by is None else supplied_by
61        standard = [] if standard is None else standard
62        additional_purpose = [] if additional_purpose is None else additional_purpose
63        check_types_and_set_values(self, locals())
package_version: Optional[str]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
download_location: Optional[str]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
package_url: Optional[str]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
homepage: Optional[str]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
source_info: Optional[str]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")