diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-07-11 23:18:09 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-07-11 23:18:09 +0300 |
commit | 09aa799e5331a9da666f8a6325b038a866b1f35d (patch) | |
tree | ccff0086f70ea7929554a7e4c90bd1182f125ba6 /release/scripts/modules/bpy_types.py | |
parent | e3c85aaca74fc7bd2a9da43a0396a886363bc93d (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.py | 32 |
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__ = () |