[Bf-extensions-cvs] [d4b41a54] master: Fix development_edit_operator for changes in master
Campbell Barton
noreply at git.blender.org
Mon Sep 4 14:09:42 CEST 2017
Commit: d4b41a542dc1399ec15f5f5b5823e9e2dbdf1ede
Author: Campbell Barton
Date: Mon Sep 4 22:04:01 2017 +1000
Branches: master
https://developer.blender.org/rBAd4b41a542dc1399ec15f5f5b5823e9e2dbdf1ede
Fix development_edit_operator for changes in master
===================================================================
M development_edit_operator.py
===================================================================
diff --git a/development_edit_operator.py b/development_edit_operator.py
index 54d5424e..b921051f 100644
--- a/development_edit_operator.py
+++ b/development_edit_operator.py
@@ -39,35 +39,38 @@ from bpy.types import (
from bpy.props import EnumProperty
-def getclazz(opname):
+def get_py_class_from_op(opname):
opid = opname.split(".")
opmod = getattr(bpy.ops, opid[0])
op = getattr(opmod, opid[1])
id = op.get_rna().bl_rna.identifier
- clazz = getattr(bpy.types, id)
- return clazz
+ # C operators won't be added
+ return getattr(bpy.types, id, None)
def getmodule(opname):
- addon = True
- clazz = getclazz(opname)
- modn = clazz.__module__
-
- try:
- line = inspect.getsourcelines(clazz)[1]
- except IOError:
- line = -1
- except TypeError:
+ cls = get_py_class_from_op(opname)
+ if cls is None:
+ addon = False
line = -1
-
- if modn == 'bpy.types':
mod = 'C operator'
- addon = False
- elif modn != '__main__':
- mod = sys.modules[modn].__file__
else:
- addon = False
- mod = modn
+ addon = True
+ mod_name = cls.__module__
+ try:
+ line = inspect.getsourcelines(cls)[1]
+ except IOError:
+ line = -1
+ except TypeError:
+ line = -1
+
+ if mod_name == 'bpy.types':
+ addon = False
+ elif mod_name != '__main__':
+ mod = sys.modules[mod_name].__file__
+ else:
+ addon = False
+ mod = mod_name
return mod, line, addon
@@ -80,8 +83,8 @@ def get_ops():
opmoddir = dir(opmod)
for o in opmoddir:
name = opmodname + "." + o
- clazz = getclazz(name)
- if (clazz.__module__ != 'bpy.types'):
+ cls = get_py_class_from_op(name)
+ if cls is not None:
allops.append(name)
del opmoddir
More information about the Bf-extensions-cvs
mailing list