spdx_tools.spdx.model.document

 1# SPDX-FileCopyrightText: 2022 spdx contributors
 2#
 3# SPDX-License-Identifier: Apache-2.0
 4from dataclasses import field
 5from datetime import datetime
 6
 7from beartype.typing import List, Optional
 8
 9from spdx_tools.common.typing.dataclass_with_properties import dataclass_with_properties
10from spdx_tools.common.typing.type_checks import check_types_and_set_values
11from spdx_tools.spdx.model import (
12    Actor,
13    Annotation,
14    ExternalDocumentRef,
15    ExtractedLicensingInfo,
16    File,
17    Package,
18    Relationship,
19    Snippet,
20    Version,
21)
22
23
24@dataclass_with_properties
25class CreationInfo:
26    spdx_version: str
27    spdx_id: str
28    name: str
29    document_namespace: str
30    creators: List[Actor]
31    created: datetime
32    creator_comment: Optional[str] = None
33    data_license: str = "CC0-1.0"
34    external_document_refs: List[ExternalDocumentRef] = field(default_factory=list)
35    license_list_version: Optional[Version] = None
36    document_comment: Optional[str] = None
37
38    def __init__(
39        self,
40        spdx_version: str,
41        spdx_id: str,
42        name: str,
43        document_namespace: str,
44        creators: List[Actor],
45        created: datetime,
46        creator_comment: Optional[str] = None,
47        data_license: str = "CC0-1.0",
48        external_document_refs: List[ExternalDocumentRef] = None,
49        license_list_version: Optional[Version] = None,
50        document_comment: Optional[str] = None,
51    ):
52        external_document_refs = [] if external_document_refs is None else external_document_refs
53        check_types_and_set_values(self, locals())
54
55
56@dataclass_with_properties
57class Document:
58    creation_info: CreationInfo
59
60    packages: List[Package] = field(default_factory=list)
61    files: List[File] = field(default_factory=list)
62    snippets: List[Snippet] = field(default_factory=list)
63    annotations: List[Annotation] = field(default_factory=list)
64    relationships: List[Relationship] = field(default_factory=list)
65    extracted_licensing_info: List[ExtractedLicensingInfo] = field(default_factory=list)
66
67    def __init__(
68        self,
69        creation_info: CreationInfo,
70        packages: List[Package] = None,
71        files: List[File] = None,
72        snippets: List[Snippet] = None,
73        annotations: List[Annotation] = None,
74        relationships: List[Relationship] = None,
75        extracted_licensing_info: List[ExtractedLicensingInfo] = None,
76    ):
77        packages = [] if packages is None else packages
78        files = [] if files is None else files
79        snippets = [] if snippets is None else snippets
80        annotations = [] if annotations is None else annotations
81        relationships = [] if relationships is None else relationships
82        extracted_licensing_info = [] if extracted_licensing_info is None else extracted_licensing_info
83        check_types_and_set_values(self, locals())
@dataclass_with_properties
class CreationInfo:
25@dataclass_with_properties
26class CreationInfo:
27    spdx_version: str
28    spdx_id: str
29    name: str
30    document_namespace: str
31    creators: List[Actor]
32    created: datetime
33    creator_comment: Optional[str] = None
34    data_license: str = "CC0-1.0"
35    external_document_refs: List[ExternalDocumentRef] = field(default_factory=list)
36    license_list_version: Optional[Version] = None
37    document_comment: Optional[str] = None
38
39    def __init__(
40        self,
41        spdx_version: str,
42        spdx_id: str,
43        name: str,
44        document_namespace: str,
45        creators: List[Actor],
46        created: datetime,
47        creator_comment: Optional[str] = None,
48        data_license: str = "CC0-1.0",
49        external_document_refs: List[ExternalDocumentRef] = None,
50        license_list_version: Optional[Version] = None,
51        document_comment: Optional[str] = None,
52    ):
53        external_document_refs = [] if external_document_refs is None else external_document_refs
54        check_types_and_set_values(self, locals())
CreationInfo( spdx_version: str, spdx_id: str, name: str, document_namespace: str, creators: list[spdx_tools.spdx.model.actor.Actor], created: datetime.datetime, creator_comment: Optional[str] = None, data_license: str = 'CC0-1.0', external_document_refs: list[spdx_tools.spdx.model.external_document_ref.ExternalDocumentRef] = None, license_list_version: Optional[spdx_tools.spdx.model.version.Version] = None, document_comment: Optional[str] = None)
39    def __init__(
40        self,
41        spdx_version: str,
42        spdx_id: str,
43        name: str,
44        document_namespace: str,
45        creators: List[Actor],
46        created: datetime,
47        creator_comment: Optional[str] = None,
48        data_license: str = "CC0-1.0",
49        external_document_refs: List[ExternalDocumentRef] = None,
50        license_list_version: Optional[Version] = None,
51        document_comment: Optional[str] = None,
52    ):
53        external_document_refs = [] if external_document_refs is None else external_document_refs
54        check_types_and_set_values(self, locals())
spdx_version: str
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
spdx_id: str
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
name: str
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
document_namespace: str
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
creators: list[spdx_tools.spdx.model.actor.Actor]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
created: datetime.datetime
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
creator_comment: Optional[str]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
data_license: str
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
external_document_refs: list[spdx_tools.spdx.model.external_document_ref.ExternalDocumentRef]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
license_list_version: Optional[spdx_tools.spdx.model.version.Version]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
document_comment: Optional[str]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
@dataclass_with_properties
class Document:
57@dataclass_with_properties
58class Document:
59    creation_info: CreationInfo
60
61    packages: List[Package] = field(default_factory=list)
62    files: List[File] = field(default_factory=list)
63    snippets: List[Snippet] = field(default_factory=list)
64    annotations: List[Annotation] = field(default_factory=list)
65    relationships: List[Relationship] = field(default_factory=list)
66    extracted_licensing_info: List[ExtractedLicensingInfo] = field(default_factory=list)
67
68    def __init__(
69        self,
70        creation_info: CreationInfo,
71        packages: List[Package] = None,
72        files: List[File] = None,
73        snippets: List[Snippet] = None,
74        annotations: List[Annotation] = None,
75        relationships: List[Relationship] = None,
76        extracted_licensing_info: List[ExtractedLicensingInfo] = None,
77    ):
78        packages = [] if packages is None else packages
79        files = [] if files is None else files
80        snippets = [] if snippets is None else snippets
81        annotations = [] if annotations is None else annotations
82        relationships = [] if relationships is None else relationships
83        extracted_licensing_info = [] if extracted_licensing_info is None else extracted_licensing_info
84        check_types_and_set_values(self, locals())
Document( creation_info: CreationInfo, packages: list[spdx_tools.spdx.model.package.Package] = None, files: list[spdx_tools.spdx.model.file.File] = None, snippets: list[spdx_tools.spdx.model.snippet.Snippet] = None, annotations: list[spdx_tools.spdx.model.annotation.Annotation] = None, relationships: list[spdx_tools.spdx.model.relationship.Relationship] = None, extracted_licensing_info: list[spdx_tools.spdx.model.extracted_licensing_info.ExtractedLicensingInfo] = None)
68    def __init__(
69        self,
70        creation_info: CreationInfo,
71        packages: List[Package] = None,
72        files: List[File] = None,
73        snippets: List[Snippet] = None,
74        annotations: List[Annotation] = None,
75        relationships: List[Relationship] = None,
76        extracted_licensing_info: List[ExtractedLicensingInfo] = None,
77    ):
78        packages = [] if packages is None else packages
79        files = [] if files is None else files
80        snippets = [] if snippets is None else snippets
81        annotations = [] if annotations is None else annotations
82        relationships = [] if relationships is None else relationships
83        extracted_licensing_info = [] if extracted_licensing_info is None else extracted_licensing_info
84        check_types_and_set_values(self, locals())
creation_info: CreationInfo
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
packages: list[spdx_tools.spdx.model.package.Package]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
files: list[spdx_tools.spdx.model.file.File]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
snippets: list[spdx_tools.spdx.model.snippet.Snippet]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
annotations: list[spdx_tools.spdx.model.annotation.Annotation]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
relationships: list[spdx_tools.spdx.model.relationship.Relationship]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")
extracted_licensing_info: list[spdx_tools.spdx.model.extracted_licensing_info.ExtractedLicensingInfo]
47    def get_field(self) -> field_type:
48        return getattr(self, f"_{field_name}")