spdx_tools.spdx.writer.tagvalue.snippet_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.model import Snippet
15from spdx_tools.spdx.writer.tagvalue.tagvalue_writer_helper_functions import write_range, write_text_value, write_value
16
17
18def write_snippet(snippet: Snippet, text_output: TextIO):
19    text_output.write("## Snippet Information\n")
20
21    write_value("SnippetSPDXID", snippet.spdx_id, text_output)
22    write_value("SnippetFromFileSPDXID", snippet.file_spdx_id, text_output)
23    write_range("SnippetByteRange", snippet.byte_range, text_output)
24    write_range("SnippetLineRange", snippet.line_range, text_output)
25
26    write_value("SnippetLicenseConcluded", snippet.license_concluded, text_output)
27    for license_info in snippet.license_info_in_snippet:
28        write_value("LicenseInfoInSnippet", license_info, text_output)
29    write_text_value("SnippetLicenseComments", snippet.license_comment, text_output)
30    write_text_value("SnippetCopyrightText", snippet.copyright_text, text_output)
31
32    write_text_value("SnippetComment", snippet.comment, text_output)
33    write_value("SnippetName", snippet.name, text_output)
34
35    for attribution_text in snippet.attribution_texts:
36        write_text_value("SnippetAttributionText", attribution_text, text_output)
def write_snippet( snippet: spdx_tools.spdx.model.snippet.Snippet, text_output: <class 'TextIO'>):
19def write_snippet(snippet: Snippet, text_output: TextIO):
20    text_output.write("## Snippet Information\n")
21
22    write_value("SnippetSPDXID", snippet.spdx_id, text_output)
23    write_value("SnippetFromFileSPDXID", snippet.file_spdx_id, text_output)
24    write_range("SnippetByteRange", snippet.byte_range, text_output)
25    write_range("SnippetLineRange", snippet.line_range, text_output)
26
27    write_value("SnippetLicenseConcluded", snippet.license_concluded, text_output)
28    for license_info in snippet.license_info_in_snippet:
29        write_value("LicenseInfoInSnippet", license_info, text_output)
30    write_text_value("SnippetLicenseComments", snippet.license_comment, text_output)
31    write_text_value("SnippetCopyrightText", snippet.copyright_text, text_output)
32
33    write_text_value("SnippetComment", snippet.comment, text_output)
34    write_value("SnippetName", snippet.name, text_output)
35
36    for attribution_text in snippet.attribution_texts:
37        write_text_value("SnippetAttributionText", attribution_text, text_output)