make Node.links return a tuple, this may you can't do socket.links.append() by mistake.
[blender.git] / release / scripts / modules / bpy_types.py
index a32feda5d0ca23a8aba5248a2e1262e1b402d183..11e1115fa4cec2500e192e4b06fcd34442863a58 100644 (file)
@@ -484,6 +484,15 @@ class Text(bpy_types.ID):
                                  if cont.type == 'PYTHON']
                      )
 
+class NodeSocket(StructRNA):  # , metaclass=RNAMeta
+    __slots__ = ()
+
+    @property
+    def links(self):
+        """List of node links from or to this socket"""
+        return tuple(link for link in self.id_data.links if link.from_socket == self or link.to_socket == self)
+
+
 # values are module: [(cls, path, line), ...]
 TypeMap = {}
 
@@ -717,12 +726,3 @@ class Menu(StructRNA, _GenericUI, metaclass=RNAMeta):
         self.path_menu(bpy.utils.preset_paths(self.preset_subdir),
                        self.preset_operator,
                        filter_ext=lambda ext: ext.lower() in {".py", ".xml"})
-
-
-class NodeSocket(StructRNA, metaclass=RNAMeta):
-    __slots__ = ()
-
-    @property
-    def links(self):
-        """List of node links from or to this socket"""
-        return [link for link in self.id_data.links if link.from_socket == self or link.to_socket == self]