spdx_tools.spdx3.writer.json_ld.json_ld_writer

 1# SPDX-FileCopyrightText: 2023 spdx contributors
 2#
 3# SPDX-License-Identifier: Apache-2.0
 4import json
 5from importlib import resources
 6
 7from spdx_tools.spdx3.payload import Payload
 8from spdx_tools.spdx3.writer.json_ld.json_ld_converter import (
 9    convert_payload_to_json_ld_list_of_elements,
10)
11
12
13def write_payload(payload: Payload, file_name: str):
14    element_list = convert_payload_to_json_ld_list_of_elements(payload)
15
16    # this will be obsolete as soon as the context is publicly available under some URI
17    # Note: 3.0.1 context is now available at
18    # https://spdx.org/rdf/3.0.1/spdx-context.jsonld
19    with resources.files("spdx_tools.spdx3.writer.json_ld").joinpath("context.json").open("r") as infile:
20        context = json.load(infile)
21
22    complete_dict = {"@context": context, "@graph": element_list}
23
24    with open(file_name + ".jsonld", "w", encoding="utf-8") as out:
25        json.dump(complete_dict, out, indent=2)
def write_payload(payload: spdx_tools.spdx3.payload.Payload, file_name: str):
14def write_payload(payload: Payload, file_name: str):
15    element_list = convert_payload_to_json_ld_list_of_elements(payload)
16
17    # this will be obsolete as soon as the context is publicly available under some URI
18    # Note: 3.0.1 context is now available at
19    # https://spdx.org/rdf/3.0.1/spdx-context.jsonld
20    with resources.files("spdx_tools.spdx3.writer.json_ld").joinpath("context.json").open("r") as infile:
21        context = json.load(infile)
22
23    complete_dict = {"@context": context, "@graph": element_list}
24
25    with open(file_name + ".jsonld", "w", encoding="utf-8") as out:
26        json.dump(complete_dict, out, indent=2)