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

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-07-11 23:18:09 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-07-11 23:18:09 +0300
commit09aa799e5331a9da666f8a6325b038a866b1f35d (patch)
treeccff0086f70ea7929554a7e4c90bd1182f125ba6 /release/scripts/modules/bpy_types.py
parente3c85aaca74fc7bd2a9da43a0396a886363bc93d (diff)
PyAPI: Use annotations for RNA definitions
- Logical use of fields since they define type information. - Avoids using ordered-dict metaclass. Properties using regular assignments will print a warning and load, however the order is undefined.
Diffstat (limited to 'release/scripts/modules/bpy_types.py')
-rw-r--r--release/scripts/modules/bpy_types.py32
1 files changed, 3 insertions, 29 deletions
diff --git a/release/scripts/modules/bpy_types.py b/release/scripts/modules/bpy_types.py
index c4bf8422d3f..b317ae18955 100644
--- a/release/scripts/modules/bpy_types.py
+++ b/release/scripts/modules/bpy_types.py
@@ -568,39 +568,13 @@ class RNAMeta(type):
return "bl_rna" in cls.__dict__
-class OrderedDictMini(dict):
-
- def __init__(self, *args):
- self.order = []
- dict.__init__(self, args)
-
- def __setitem__(self, key, val):
- dict.__setitem__(self, key, val)
- if key not in self.order:
- self.order.append(key)
-
- def __delitem__(self, key):
- dict.__delitem__(self, key)
- self.order.remove(key)
-
-
class RNAMetaPropGroup(StructMetaPropGroup, RNAMeta):
pass
-class OrderedMeta(RNAMeta):
-
- def __init__(cls, name, bases, attributes):
- if attributes.__class__ is OrderedDictMini:
- cls.order = attributes.order
-
- def __prepare__(name, bases, **kwargs):
- return OrderedDictMini() # collections.OrderedDict()
-
-
# Same as 'Operator'
# only without 'as_keywords'
-class Manipulator(StructRNA, metaclass=OrderedMeta):
+class Manipulator(StructRNA):
__slots__ = ()
def __getattribute__(self, attr):
@@ -700,7 +674,7 @@ class Manipulator(StructRNA, metaclass=OrderedMeta):
# Only defined so operators members can be used by accessing self.order
# with doc generation 'self.properties.bl_rna.properties' can fail
-class Operator(StructRNA, metaclass=OrderedMeta):
+class Operator(StructRNA):
__slots__ = ()
def __getattribute__(self, attr):
@@ -732,7 +706,7 @@ class Operator(StructRNA, metaclass=OrderedMeta):
if attr not in ignore}
-class Macro(StructRNA, metaclass=OrderedMeta):
+class Macro(StructRNA):
# bpy_types is imported before ops is defined
# so we have to do a local import on each run
__slots__ = ()