PyAPI: expose low level RNA to bpy.types

This commit is contained in:
Campbell Barton 2015-11-30 11:02:09 +11:00
parent 5bfc32bab4
commit c1f05c30f9
3 changed files with 17 additions and 5 deletions

View File

@ -21,8 +21,8 @@
from _bpy import types as bpy_types
import _bpy
StructRNA = bpy_types.Struct.__bases__[0]
StructMetaPropGroup = _bpy.StructMetaPropGroup
StructRNA = bpy_types.bpy_struct
StructMetaPropGroup = bpy_types.bpy_struct_meta_idprop
# StructRNA = bpy_types.Struct
bpy_types.BlendDataLibraries.load = _bpy._library_load

View File

@ -320,9 +320,6 @@ void BPy_init_modules(void)
/* needs to be first so bpy_types can run */
PyModule_AddObject(mod, "types", BPY_rna_types());
/* metaclass for idprop types, bpy_types.py needs access */
PyModule_AddObject(mod, "StructMetaPropGroup", (PyObject *)&pyrna_struct_meta_idprop_Type);
/* needs to be first so bpy_types can run */
BPY_library_module(mod);

View File

@ -6678,6 +6678,21 @@ PyObject *BPY_rna_types(void)
/* add __name__ since help() expects its */
PyDict_SetItem(pyrna_basetype_Type.tp_dict, bpy_intern_str___name__, bpy_intern_str_bpy_types);
/* internal base types we have no other accessors for */
{
PyTypeObject *pyrna_types[] = {
&pyrna_struct_meta_idprop_Type,
&pyrna_struct_Type,
&pyrna_prop_Type,
&pyrna_prop_array_Type,
&pyrna_prop_collection_Type,
&pyrna_func_Type,
};
for (int i = 0; i < ARRAY_SIZE(pyrna_types); i += 1) {
PyDict_SetItemString(pyrna_basetype_Type.tp_dict, pyrna_types[i]->tp_name, (PyObject *)pyrna_types[i]);
}
}
self = (BPy_BaseTypeRNA *)PyObject_NEW(BPy_BaseTypeRNA, &pyrna_basetype_Type);