spdx_tools.spdx.writer.write_utils
1# SPDX-FileCopyrightText: 2023 spdx contributors 2# 3# SPDX-License-Identifier: Apache-2.0 4from beartype.typing import List 5 6from spdx_tools.spdx.document_utils import create_document_without_duplicates 7from spdx_tools.spdx.jsonschema.document_converter import DocumentConverter 8from spdx_tools.spdx.model import Document 9from spdx_tools.spdx.validation.document_validator import validate_full_spdx_document 10from spdx_tools.spdx.validation.validation_message import ValidationMessage 11 12 13def validate_and_deduplicate(document: Document, validate: bool = True, drop_duplicates: bool = True) -> Document: 14 if validate: 15 validation_messages: List[ValidationMessage] = validate_full_spdx_document(document) 16 if validation_messages: 17 raise ValueError(f"Document is not valid. The following errors were detected: {validation_messages}") 18 if drop_duplicates: 19 document = create_document_without_duplicates(document) 20 return document 21 22 23def convert(document: Document, converter: DocumentConverter) -> dict: 24 if converter is None: 25 converter = DocumentConverter() 26 return converter.convert(document)
def
validate_and_deduplicate( document: spdx_tools.spdx.model.document.Document, validate: bool = True, drop_duplicates: bool = True) -> spdx_tools.spdx.model.document.Document:
14def validate_and_deduplicate(document: Document, validate: bool = True, drop_duplicates: bool = True) -> Document: 15 if validate: 16 validation_messages: List[ValidationMessage] = validate_full_spdx_document(document) 17 if validation_messages: 18 raise ValueError(f"Document is not valid. The following errors were detected: {validation_messages}") 19 if drop_duplicates: 20 document = create_document_without_duplicates(document) 21 return document
def
convert( document: spdx_tools.spdx.model.document.Document, converter: spdx_tools.spdx.jsonschema.document_converter.DocumentConverter) -> dict: