spdx_tools.spdx3.model.software.file

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