spdx_tools.spdx.validation.creation_info_validator
1# SPDX-FileCopyrightText: 2022 spdx contributors 2# 3# SPDX-License-Identifier: Apache-2.0 4 5from beartype.typing import List 6 7from spdx_tools.spdx.constants import DOCUMENT_SPDX_ID 8from spdx_tools.spdx.model import CreationInfo 9from spdx_tools.spdx.validation.actor_validator import validate_actors 10from spdx_tools.spdx.validation.external_document_ref_validator import validate_external_document_refs 11from spdx_tools.spdx.validation.uri_validators import validate_uri 12from spdx_tools.spdx.validation.validation_message import SpdxElementType, ValidationContext, ValidationMessage 13 14 15def validate_creation_info(creation_info: CreationInfo, spdx_version: str) -> List[ValidationMessage]: 16 validation_messages: List[ValidationMessage] = [] 17 18 context = ValidationContext(spdx_id=creation_info.spdx_id, element_type=SpdxElementType.DOCUMENT) 19 20 if creation_info.spdx_id != DOCUMENT_SPDX_ID: 21 validation_messages.append( 22 ValidationMessage(f"spdx_id must be {DOCUMENT_SPDX_ID}, but is: {creation_info.spdx_id}", context) 23 ) 24 25 if creation_info.data_license != "CC0-1.0": 26 validation_messages.append( 27 ValidationMessage(f'data_license must be "CC0-1.0", but is: {creation_info.data_license}', context) 28 ) 29 30 for message in validate_uri(creation_info.document_namespace): 31 validation_messages.append(ValidationMessage("document_namespace " + message, context)) 32 33 validation_messages.extend(validate_actors(creation_info.creators, creation_info.spdx_id)) 34 validation_messages.extend( 35 validate_external_document_refs(creation_info.external_document_refs, creation_info.spdx_id, spdx_version) 36 ) 37 38 return validation_messages
def
validate_creation_info( creation_info: spdx_tools.spdx.model.document.CreationInfo, spdx_version: str) -> list[spdx_tools.spdx.validation.validation_message.ValidationMessage]:
16def validate_creation_info(creation_info: CreationInfo, spdx_version: str) -> List[ValidationMessage]: 17 validation_messages: List[ValidationMessage] = [] 18 19 context = ValidationContext(spdx_id=creation_info.spdx_id, element_type=SpdxElementType.DOCUMENT) 20 21 if creation_info.spdx_id != DOCUMENT_SPDX_ID: 22 validation_messages.append( 23 ValidationMessage(f"spdx_id must be {DOCUMENT_SPDX_ID}, but is: {creation_info.spdx_id}", context) 24 ) 25 26 if creation_info.data_license != "CC0-1.0": 27 validation_messages.append( 28 ValidationMessage(f'data_license must be "CC0-1.0", but is: {creation_info.data_license}', context) 29 ) 30 31 for message in validate_uri(creation_info.document_namespace): 32 validation_messages.append(ValidationMessage("document_namespace " + message, context)) 33 34 validation_messages.extend(validate_actors(creation_info.creators, creation_info.spdx_id)) 35 validation_messages.extend( 36 validate_external_document_refs(creation_info.external_document_refs, creation_info.spdx_id, spdx_version) 37 ) 38 39 return validation_messages