spdx_tools.spdx.validation.validation_message

 1# SPDX-FileCopyrightText: 2022 spdx contributors
 2#
 3# SPDX-License-Identifier: Apache-2.0
 4
 5from dataclasses import dataclass
 6from enum import Enum, auto
 7
 8from beartype.typing import Any, Optional
 9
10
11class SpdxElementType(Enum):
12    LICENSE_EXPRESSION = auto()
13    PACKAGE_VERIFICATION_CODE = auto()
14    EXTERNAL_DOCUMENT_REF = auto()
15    CHECKSUM = auto()
16    EXTERNAL_PACKAGE_REF = auto()
17    ACTOR = auto()
18    DOCUMENT = auto()
19    CREATION_INFO = auto()
20    PACKAGE = auto()
21    FILE = auto()
22    SNIPPET = auto()
23    ANNOTATION = auto()
24    RELATIONSHIP = auto()
25    EXTRACTED_LICENSING_INFO = auto()
26
27
28@dataclass(frozen=True)
29class ValidationContext:
30    spdx_id: Optional[str] = None  # not every type has an id, or it might be missing
31    parent_id: Optional[str] = None  # if a parent is known and has a valid id
32    element_type: Optional[SpdxElementType] = None
33    full_element: Any = None  # can be any class of the data model
34
35
36@dataclass(frozen=True)
37class ValidationMessage:
38    validation_message: str
39    context: ValidationContext
class SpdxElementType(enum.Enum):
12class SpdxElementType(Enum):
13    LICENSE_EXPRESSION = auto()
14    PACKAGE_VERIFICATION_CODE = auto()
15    EXTERNAL_DOCUMENT_REF = auto()
16    CHECKSUM = auto()
17    EXTERNAL_PACKAGE_REF = auto()
18    ACTOR = auto()
19    DOCUMENT = auto()
20    CREATION_INFO = auto()
21    PACKAGE = auto()
22    FILE = auto()
23    SNIPPET = auto()
24    ANNOTATION = auto()
25    RELATIONSHIP = auto()
26    EXTRACTED_LICENSING_INFO = auto()
LICENSE_EXPRESSION = <SpdxElementType.LICENSE_EXPRESSION: 1>
PACKAGE_VERIFICATION_CODE = <SpdxElementType.PACKAGE_VERIFICATION_CODE: 2>
EXTERNAL_DOCUMENT_REF = <SpdxElementType.EXTERNAL_DOCUMENT_REF: 3>
CHECKSUM = <SpdxElementType.CHECKSUM: 4>
EXTERNAL_PACKAGE_REF = <SpdxElementType.EXTERNAL_PACKAGE_REF: 5>
ACTOR = <SpdxElementType.ACTOR: 6>
DOCUMENT = <SpdxElementType.DOCUMENT: 7>
CREATION_INFO = <SpdxElementType.CREATION_INFO: 8>
PACKAGE = <SpdxElementType.PACKAGE: 9>
FILE = <SpdxElementType.FILE: 10>
SNIPPET = <SpdxElementType.SNIPPET: 11>
ANNOTATION = <SpdxElementType.ANNOTATION: 12>
RELATIONSHIP = <SpdxElementType.RELATIONSHIP: 13>
EXTRACTED_LICENSING_INFO = <SpdxElementType.EXTRACTED_LICENSING_INFO: 14>
Inherited Members
enum.Enum
name
value
@dataclass(frozen=True)
class ValidationContext:
29@dataclass(frozen=True)
30class ValidationContext:
31    spdx_id: Optional[str] = None  # not every type has an id, or it might be missing
32    parent_id: Optional[str] = None  # if a parent is known and has a valid id
33    element_type: Optional[SpdxElementType] = None
34    full_element: Any = None  # can be any class of the data model
ValidationContext( spdx_id: Optional[str] = None, parent_id: Optional[str] = None, element_type: Optional[SpdxElementType] = None, full_element: Any = None)
spdx_id: Optional[str] = None
parent_id: Optional[str] = None
element_type: Optional[SpdxElementType] = None
full_element: Any = None
@dataclass(frozen=True)
class ValidationMessage:
37@dataclass(frozen=True)
38class ValidationMessage:
39    validation_message: str
40    context: ValidationContext
ValidationMessage( validation_message: str, context: ValidationContext)
validation_message: str