Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2017-09-04 15:04:01 +0300
committerCampbell Barton <ideasman42@gmail.com>2017-09-04 15:15:00 +0300
commitd4b41a542dc1399ec15f5f5b5823e9e2dbdf1ede (patch)
treed6ba3c7e13df27b5dc99ceadafd3780f3ab4924f /development_edit_operator.py
parent4c037a84c2112f0fcebee263e3cbddd12bcd1c35 (diff)
Fix development_edit_operator for changes in master
Diffstat (limited to 'development_edit_operator.py')
-rw-r--r--development_edit_operator.py45
1 files changed, 24 insertions, 21 deletions
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