spdx_tools.spdx.writer.tagvalue.creation_info_writer
1# SPDX-License-Identifier: Apache-2.0 2# Copyright (c) 2022 spdx contributors 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# http://www.apache.org/licenses/LICENSE-2.0 7# Unless required by applicable law or agreed to in writing, software 8# distributed under the License is distributed on an "AS IS" BASIS, 9# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10# See the License for the specific language governing permissions and 11# limitations under the License. 12from beartype.typing import TextIO 13 14from spdx_tools.spdx.datetime_conversions import datetime_to_iso_string 15from spdx_tools.spdx.model import CreationInfo 16from spdx_tools.spdx.writer.tagvalue.tagvalue_writer_helper_functions import ( 17 write_optional_heading, 18 write_separator, 19 write_text_value, 20 write_value, 21) 22 23 24def write_creation_info(creation_info: CreationInfo, text_output: TextIO): 25 write_value("SPDXVersion", creation_info.spdx_version, text_output) 26 write_value("DataLicense", creation_info.data_license, text_output) 27 write_value("SPDXID", creation_info.spdx_id, text_output) 28 write_value("DocumentName", creation_info.name, text_output) 29 write_value("DocumentNamespace", creation_info.document_namespace, text_output) 30 write_text_value("DocumentComment", creation_info.document_comment, text_output) 31 32 write_optional_heading(creation_info.external_document_refs, "\n## External Document References\n", text_output) 33 for external_document_ref in creation_info.external_document_refs: 34 external_document_ref_str = " ".join( 35 [ 36 external_document_ref.document_ref_id, 37 external_document_ref.document_uri, 38 external_document_ref.checksum.algorithm.name + ": " + external_document_ref.checksum.value, 39 ] 40 ) 41 write_value("ExternalDocumentRef", external_document_ref_str, text_output) 42 write_separator(text_output) 43 44 text_output.write("## Creation Information\n") 45 write_value("LicenseListVersion", creation_info.license_list_version, text_output) 46 for creator in creation_info.creators: 47 write_value("Creator", creator.to_serialized_string(), text_output) 48 write_value("Created", datetime_to_iso_string(creation_info.created), text_output) 49 write_text_value("CreatorComment", creation_info.creator_comment, text_output)
def
write_creation_info( creation_info: spdx_tools.spdx.model.document.CreationInfo, text_output: <class 'TextIO'>):
25def write_creation_info(creation_info: CreationInfo, text_output: TextIO): 26 write_value("SPDXVersion", creation_info.spdx_version, text_output) 27 write_value("DataLicense", creation_info.data_license, text_output) 28 write_value("SPDXID", creation_info.spdx_id, text_output) 29 write_value("DocumentName", creation_info.name, text_output) 30 write_value("DocumentNamespace", creation_info.document_namespace, text_output) 31 write_text_value("DocumentComment", creation_info.document_comment, text_output) 32 33 write_optional_heading(creation_info.external_document_refs, "\n## External Document References\n", text_output) 34 for external_document_ref in creation_info.external_document_refs: 35 external_document_ref_str = " ".join( 36 [ 37 external_document_ref.document_ref_id, 38 external_document_ref.document_uri, 39 external_document_ref.checksum.algorithm.name + ": " + external_document_ref.checksum.value, 40 ] 41 ) 42 write_value("ExternalDocumentRef", external_document_ref_str, text_output) 43 write_separator(text_output) 44 45 text_output.write("## Creation Information\n") 46 write_value("LicenseListVersion", creation_info.license_list_version, text_output) 47 for creator in creation_info.creators: 48 write_value("Creator", creator.to_serialized_string(), text_output) 49 write_value("Created", datetime_to_iso_string(creation_info.created), text_output) 50 write_text_value("CreatorComment", creation_info.creator_comment, text_output)