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
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2015-11-30 03:02:09 +0300
committerCampbell Barton <ideasman42@gmail.com>2015-11-30 03:03:49 +0300
commitc1f05c30f9282620bcb7c6c9fec4eeb8f262e207 (patch)
treeaea355c0b42519d80825422b9ecb96717db1cd79 /source
parent5bfc32bab4dc974d151e2d04c8c23e6c740101ef (diff)
PyAPI: expose low level RNA to bpy.types
Diffstat (limited to 'source')
-rw-r--r--source/blender/python/intern/bpy.c3
-rw-r--r--source/blender/python/intern/bpy_rna.c15
2 files changed, 15 insertions, 3 deletions
diff --git a/source/blender/python/intern/bpy.c b/source/blender/python/intern/bpy.c
index fa2ad3a4803..bdae2a7cb17 100644
--- a/source/blender/python/intern/bpy.c
+++ b/source/blender/python/intern/bpy.c
@@ -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);
diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c
index 220ec5b6e8c..47d89cd43ae 100644
--- a/source/blender/python/intern/bpy_rna.c
+++ b/source/blender/python/intern/bpy_rna.c
@@ -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);