Skip to content

Commit 9b883cc

Browse files
committed
fix: NodeToPython now registers in v4.0
1 parent 532ba17 commit 9b883cc

File tree

2 files changed

+38
-33
lines changed

2 files changed

+38
-33
lines changed

geometry/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
if "bpy" in locals():
22
import importlib
3-
importlib.reload(node_tree)
43
importlib.reload(node_settings)
4+
importlib.reload(node_tree)
55
importlib.reload(operator)
66
importlib.reload(ui)
77
else:
8-
from . import node_tree
98
from . import node_settings
9+
from . import node_tree
1010
from . import operator
1111
from . import ui
1212

ntp_operator.py

Lines changed: 36 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
import bpy
22
from bpy.types import Context, Operator
3-
from bpy.types import Node, NodeTree, NodeSocketInterface
3+
from bpy.types import Node, NodeTree
4+
5+
if bpy.app.version < (4, 0, 0):
6+
from bpy.types import NodeSocketInterface
47

58
import os
69
from typing import TextIO
@@ -255,37 +258,38 @@ def _set_settings_defaults(self, node: Node, inner: str, node_var: str
255258
self._load_image(attr, inner, f"{node_var}.{attr_name}")
256259
elif type == ST.IMAGE_USER:
257260
self._image_user_settings(attr, inner, f"{node_var}.{attr_name}")
261+
262+
if bpy.app.version < (4, 0, 0):
263+
def _set_group_socket_default_v3(self, socket_interface: NodeSocketInterface,
264+
inner: str, socket_var: str) -> None:
265+
"""
266+
Set a node group input/output's default properties if they exist
258267
259-
def _set_group_socket_default(self, socket_interface: NodeSocketInterface,
260-
inner: str, socket_var: str) -> None:
261-
"""
262-
Set a node group input/output's default properties if they exist
263-
264-
Parameters:
265-
socket_interface (NodeSocketInterface): socket interface associated
266-
with the input/output
267-
inner (str): indentation string
268-
socket_var (str): variable name for the socket
269-
"""
270-
if socket_interface.type not in default_sockets:
271-
return
268+
Parameters:
269+
socket_interface (NodeSocketInterface): socket interface associated
270+
with the input/output
271+
inner (str): indentation string
272+
socket_var (str): variable name for the socket
273+
"""
274+
if socket_interface.type not in default_sockets:
275+
return
272276

273-
if socket_interface.type == 'RGBA':
274-
dv = vec4_to_py_str(socket_interface.default_value)
275-
elif socket_interface.type == 'VECTOR':
276-
dv = vec3_to_py_str(socket_interface.default_value)
277-
else:
278-
dv = socket_interface.default_value
279-
self._write(f"{inner}{socket_var}.default_value = {dv}\n")
280-
281-
#min value
282-
if hasattr(socket_interface, "min_value"):
283-
min_val = socket_interface.min_value
284-
self._write(f"{inner}{socket_var}.min_value = {min_val}\n")
285-
#max value
286-
if hasattr(socket_interface, "min_value"):
287-
max_val = socket_interface.max_value
288-
self._write((f"{inner}{socket_var}.max_value = {max_val}\n"))
277+
if socket_interface.type == 'RGBA':
278+
dv = vec4_to_py_str(socket_interface.default_value)
279+
elif socket_interface.type == 'VECTOR':
280+
dv = vec3_to_py_str(socket_interface.default_value)
281+
else:
282+
dv = socket_interface.default_value
283+
self._write(f"{inner}{socket_var}.default_value = {dv}\n")
284+
285+
#min value
286+
if hasattr(socket_interface, "min_value"):
287+
min_val = socket_interface.min_value
288+
self._write(f"{inner}{socket_var}.min_value = {min_val}\n")
289+
#max value
290+
if hasattr(socket_interface, "min_value"):
291+
max_val = socket_interface.max_value
292+
self._write((f"{inner}{socket_var}.max_value = {max_val}\n"))
289293

290294
def _group_io_settings(self, node: bpy.types.Node, inner: str,
291295
io: str, #TODO: convert to enum
@@ -322,7 +326,8 @@ def _group_io_settings(self, node: bpy.types.Node, inner: str,
322326
socket_interface = io_socket_interfaces[i]
323327
socket_var = f"{node_tree_var}.{io}s[{i}]"
324328

325-
self._set_group_socket_default(socket_interface, inner, socket_var)
329+
if bpy.app.version < (4, 0, 0):
330+
self._set_group_socket_default_v3(socket_interface, inner, socket_var)
326331

327332
#default attribute name
328333
if hasattr(socket_interface, "default_attribute_name"):

0 commit comments

Comments
 (0)