2025-01-22 16:18:30 +01:00

34 lines
1.1 KiB
Python

from lnx.logicnode.lnx_nodes import *
class WriteJsonNode(LnxLogicTreeNode):
"""Writes the given content to the given JSON file. If the file
already exists, the existing content of the file is overwritten.
> **This node is currently only implemented on Krom**
@input File: the name of the file, relative to `Krom.getFilesLocation()`,
including the file extension.
@input Dynamic: the content to write to the file. Can be any type that can
be serialized to JSON.
@seeNode Read JSON
"""
bl_idname = 'LNWriteJsonNode'
bl_label = 'Write JSON'
lnx_section = 'file'
lnx_version = 2
def lnx_init(self, context):
self.add_input('LnxNodeSocketAction', 'In')
self.add_input('LnxStringSocket', 'File')
self.add_input('LnxDynamicSocket', 'Dynamic')
self.add_output('LnxNodeSocketAction', 'Out')
def get_replacement_node(self, node_tree: bpy.types.NodeTree):
if self.lnx_version not in (0, 1):
raise LookupError()
return NodeReplacement.Identity(self)