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>2007-04-18 18:40:01 +0400
committerCampbell Barton <ideasman42@gmail.com>2007-04-18 18:40:01 +0400
commit3e1a5ce7a2596ebc135455f9934d128223cc089a (patch)
treee9d12a0e39c1de8e33e2b32965a91d8bd90a18c1 /source/blender/python/api2_2x/bpy.c
parenta59f7c08cef1fd4f0ce60463fe93eb53a8dadffa (diff)
PyAPI.
moved bpy into bpy.data and bpy will be eventually replace the root level 'Blender' module. currently we have bpy.library bpy.config and bpy.data
Diffstat (limited to 'source/blender/python/api2_2x/bpy.c')
-rw-r--r--source/blender/python/api2_2x/bpy.c85
1 files changed, 85 insertions, 0 deletions
diff --git a/source/blender/python/api2_2x/bpy.c b/source/blender/python/api2_2x/bpy.c
new file mode 100644
index 00000000000..31dd261b610
--- /dev/null
+++ b/source/blender/python/api2_2x/bpy.c
@@ -0,0 +1,85 @@
+/*
+ * $Id$
+ * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version. The Blender
+ * Foundation also sells licenses for use in proprietary software under
+ * the Blender License. See http://www.blender.org/BL/ for information
+ * about this.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
+ * All rights reserved.
+ *
+ * This is a new part of Blender.
+ *
+ * Contributor(s): Michel Selten, Willian P. Germano, Joseph Gilbert,
+ * Campbell Barton
+ *
+ * ***** END GPL/BL DUAL LICENSE BLOCK *****
+*/
+
+/* for open, close in Blender_Load */
+
+#include "BLI_blenlib.h"
+#include "BKE_global.h"
+#include "BKE_utildefines.h"
+#include "BKE_scene.h"
+#include "BKE_main.h"
+
+#include "DNA_scene_types.h"
+
+#include "Types.h"
+
+#include "bpy.h"
+#include "bpy_data.h"
+#include "bpy_config.h"
+
+/*****************************************************************************/
+/* Global variables */
+/*****************************************************************************/
+PyObject *g_bpydict;
+
+/*****************************************************************************/
+/* Function: initBlender */
+/*****************************************************************************/
+
+void m_bpy_init(void)
+{
+ PyObject *module;
+ PyObject *dict;
+
+ /* G.scene should only aver be NULL if blender is executed in
+ background mode, not loading a blend file and executing a python script eg.
+ blender -P somescript.py -b
+ The if below solves the segfaults that happen when python runs and
+ G.scene is NULL */
+ if(G.background && G.main->scene.first==NULL) {
+ Scene *sce= add_scene("1");
+ /*set_scene(sce);*/ /* causes a crash */
+ G.scene= sce;
+ }
+
+ module = Py_InitModule3("bpy", NULL, "The main bpy module");
+
+ types_InitAll(); /* set all our pytypes to &PyType_Type */
+
+ dict = PyModule_GetDict(module);
+ g_bpydict = dict;
+
+ PyModule_AddObject( module, "config", Config_CreatePyObject() );
+ PyDict_SetItemString( dict, "data", Data_Init());
+ PyDict_SetItemString( dict, "libraries", Library_Init( ) );
+
+}