[Bf-blender-cvs] [daf7aed849f] master: PyAPI: use bl_rna_get_subclass for node API
Campbell Barton
noreply at git.blender.org
Thu Sep 7 15:59:25 CEST 2017
Commit: daf7aed849fdfbb86c4f6b27e3f7b13c7001abe5
Author: Campbell Barton
Date: Fri Sep 8 00:03:01 2017 +1000
Branches: master
https://developer.blender.org/rBdaf7aed849fdfbb86c4f6b27e3f7b13c7001abe5
PyAPI: use bl_rna_get_subclass for node API
Returns a default value instead of an error when the type isn't defined.
===================================================================
M release/scripts/modules/nodeitems_utils.py
===================================================================
diff --git a/release/scripts/modules/nodeitems_utils.py b/release/scripts/modules/nodeitems_utils.py
index 4be6e340760..7dc456f6c98 100644
--- a/release/scripts/modules/nodeitems_utils.py
+++ b/release/scripts/modules/nodeitems_utils.py
@@ -59,8 +59,11 @@ class NodeItem:
return self._label
else:
# if no custom label is defined, fall back to the node type UI name
- cls = next(cls for cls in bpy.types.Node.__subclasses__() if cls.bl_rna.identifier == self.nodetype)
- return cls.bl_rna.name
+ cls = bpy.types.Node.bl_rna_get_subclass(self.nodetype)
+ if cls is not None:
+ return cls.bl_rna.name
+ else:
+ return "Unknown"
@property
def translation_context(self):
@@ -68,8 +71,11 @@ class NodeItem:
return bpy.app.translations.contexts.default
else:
# if no custom label is defined, fall back to the node type UI name
- cls = next(cls for cls in bpy.types.Node.__subclasses__() if cls.bl_rna.identifier == self.nodetype)
- return cls.bl_rna.translation_context
+ cls = bpy.types.Node.bl_rna_get_subclass(self.nodetype)
+ if cls is not None:
+ return cls.bl_rna.translation_context
+ else:
+ return bpy.app.translations.contexts.default
# NB: is a staticmethod because called with an explicit self argument
# NodeItemCustom sets this as a variable attribute in __init__
More information about the Bf-blender-cvs
mailing list