spdx_tools.spdx3.model.software.snippet

 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.positive_integer_range import PositiveIntegerRange
13from spdx_tools.spdx3.model.software import SoftwarePurpose
14from spdx_tools.spdx3.model.software.software_artifact import SoftwareArtifact
15
16
17@dataclass_with_properties
18class Snippet(SoftwareArtifact):
19    byte_range: Optional[PositiveIntegerRange] = None
20    line_range: Optional[PositiveIntegerRange] = None
21
22    def __init__(
23        self,
24        spdx_id: str,
25        creation_info: Optional[CreationInfo] = None,
26        name: Optional[str] = None,
27        summary: Optional[str] = None,
28        description: Optional[str] = None,
29        comment: Optional[str] = None,
30        verified_using: List[IntegrityMethod] = None,
31        external_reference: List[ExternalReference] = None,
32        external_identifier: List[ExternalIdentifier] = None,
33        extension: Optional[str] = None,
34        originated_by: List[str] = None,
35        supplied_by: List[str] = None,
36        built_time: Optional[datetime] = None,
37        release_time: Optional[datetime] = None,
38        valid_until_time: Optional[datetime] = None,
39        standard: List[str] = None,
40        content_identifier: Optional[str] = None,
41        primary_purpose: Optional[SoftwarePurpose] = None,
42        additional_purpose: List[SoftwarePurpose] = None,
43        concluded_license: Optional[LicenseField] = None,
44        declared_license: Optional[LicenseField] = None,
45        copyright_text: Optional[str] = None,
46        attribution_text: Optional[str] = None,
47        byte_range: Optional[PositiveIntegerRange] = None,
48        line_range: Optional[PositiveIntegerRange] = None,
49    ):
50        verified_using = [] if verified_using is None else verified_using
51        external_reference = [] if external_reference is None else external_reference
52        external_identifier = [] if external_identifier is None else external_identifier
53        originated_by = [] if originated_by is None else originated_by
54        supplied_by = [] if supplied_by is None else supplied_by
55        standard = [] if standard is None else standard
56        additional_purpose = [] if additional_purpose is None else additional_purpose
57        check_types_and_set_values(self, locals())
@dataclass_with_properties
class Snippet(spdx_tools.spdx3.model.software.software_artifact.SoftwareArtifact):
18@dataclass_with_properties
19class Snippet(SoftwareArtifact):
20    byte_range: Optional[PositiveIntegerRange] = None
21    line_range: Optional[PositiveIntegerRange] = None
22
23    def __init__(
24        self,
25        spdx_id: str,
26        creation_info: Optional[CreationInfo] = None,
27        name: Optional[str] = None,
28        summary: Optional[str] = None,
29        description: Optional[str] = None,
30        comment: Optional[str] = None,
31        verified_using: List[IntegrityMethod] = None,
32        external_reference: List[ExternalReference] = None,
33        external_identifier: List[ExternalIdentifier] = None,
34        extension: Optional[str] = None,
35        originated_by: List[str] = None,
36        supplied_by: List[str] = None,
37        built_time: Optional[datetime] = None,
38        release_time: Optional[datetime] = None,
39        valid_until_time: Optional[datetime] = None,
40        standard: List[str] = None,
41        content_identifier: Optional[str] = None,
42        primary_purpose: Optional[SoftwarePurpose] = None,
43        additional_purpose: List[SoftwarePurpose] = None,
44        concluded_license: Optional[LicenseField] = None,
45        declared_license: Optional[LicenseField] = None,
46        copyright_text: Optional[str] = None,
47        attribution_text: Optional[str] = None,
48        byte_range: Optional[PositiveIntegerRange] = None,
49        line_range: Optional[PositiveIntegerRange] = None,
50    ):
51        verified_using = [] if verified_using is None else verified_using
52        external_reference = [] if external_reference is None else external_reference
53        external_identifier = [] if external_identifier is None else external_identifier
54        originated_by = [] if originated_by is None else originated_by
55        supplied_by = [] if supplied_by is None else supplied_by
56        standard = [] if standard is None else standard
57        additional_purpose = [] if additional_purpose is None else additional_purpose
58        check_types_and_set_values(self, locals())
Snippet( spdx_id: str, creation_info: Optional[spdx_tools.spdx3.model.creation_info.CreationInfo] = None, name: Optional[str] = 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, byte_range: Optional[spdx_tools.spdx3.model.positive_integer_range.PositiveIntegerRange] = None, line_range: Optional[spdx_tools.spdx3.model.positive_integer_range.PositiveIntegerRange] = None)
23    def __init__(
24        self,
25        spdx_id: str,
26        creation_info: Optional[CreationInfo] = None,
27        name: Optional[str] = None,
28        summary: Optional[str] = None,
29        description: Optional[str] = None,
30        comment: Optional[str] = None,
31        verified_using: List[IntegrityMethod] = None,
32        external_reference: List[ExternalReference] = None,
33        external_identifier: List[ExternalIdentifier] = None,
34        extension: Optional[str] = None,
35        originated_by: List[str] = None,
36        supplied_by: List[str] = None,
37        built_time: Optional[datetime] = None,
38        release_time: Optional[datetime] = None,
39        valid_until_time: Optional[datetime] = None,
40        standard: List[str] = None,
41        content_identifier: Optional[str] = None,
42        primary_purpose: Optional[SoftwarePurpose] = None,
43        additional_purpose: List[SoftwarePurpose] = None,
44        concluded_license: Optional[LicenseField] = None,
45        declared_license: Optional[LicenseField] = None,
46        copyright_text: Optional[str] = None,
47        attribution_text: Optional[str] = None,
48        byte_range: Optional[PositiveIntegerRange] = None,
49        line_range: Optional[PositiveIntegerRange] = None,
50    ):
51        verified_using = [] if verified_using is None else verified_using
52        external_reference = [] if external_reference is None else external_reference
53        external_identifier = [] if external_identifier is None else external_identifier
54        originated_by = [] if originated_by is None else originated_by
55        supplied_by = [] if supplied_by is None else supplied_by
56        standard = [] if standard is None else standard
57        additional_purpose = [] if additional_purpose is None else additional_purpose
58        check_types_and_set_values(self, locals())
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")