[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41548] trunk/blender/source/blender/ python/intern: documentation - brief descriptions for bpy api files.

Campbell Barton ideasman42 at gmail.com
Sat Nov 5 09:21:14 CET 2011


Revision: 41548
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41548
Author:   campbellbarton
Date:     2011-11-05 08:21:12 +0000 (Sat, 05 Nov 2011)
Log Message:
-----------
documentation - brief descriptions for bpy api files.

Modified Paths:
--------------
    trunk/blender/source/blender/python/intern/bpy.c
    trunk/blender/source/blender/python/intern/bpy_app.c
    trunk/blender/source/blender/python/intern/bpy_app_handlers.c
    trunk/blender/source/blender/python/intern/bpy_driver.c
    trunk/blender/source/blender/python/intern/bpy_interface.c
    trunk/blender/source/blender/python/intern/bpy_interface_atexit.c
    trunk/blender/source/blender/python/intern/bpy_intern_string.c
    trunk/blender/source/blender/python/intern/bpy_library.c
    trunk/blender/source/blender/python/intern/bpy_operator.c
    trunk/blender/source/blender/python/intern/bpy_operator_wrap.c
    trunk/blender/source/blender/python/intern/bpy_props.c
    trunk/blender/source/blender/python/intern/bpy_rna.c
    trunk/blender/source/blender/python/intern/bpy_rna_anim.c
    trunk/blender/source/blender/python/intern/bpy_rna_array.c
    trunk/blender/source/blender/python/intern/bpy_rna_callback.c
    trunk/blender/source/blender/python/intern/bpy_traceback.c
    trunk/blender/source/blender/python/intern/bpy_util.c
    trunk/blender/source/blender/python/intern/gpu.c

Modified: trunk/blender/source/blender/python/intern/bpy.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy.c	2011-11-05 08:04:49 UTC (rev 41547)
+++ trunk/blender/source/blender/python/intern/bpy.c	2011-11-05 08:21:12 UTC (rev 41548)
@@ -22,12 +22,12 @@
 
 /** \file blender/python/intern/bpy.c
  *  \ingroup pythonintern
+ *
+ * This file defines the '_bpy' module which is used by python's 'bpy' package
+ * to access C defined builtin functions.
+ * A script writer should never directly access this module.
  */
-
  
-/* This file defines the '_bpy' module which is used by python's 'bpy' package.
- * a script writer should never directly access this module */
- 
 #define WITH_PYTHON /* for AUD_PyInit.h, possibly others */
 
 #include <Python.h>

Modified: trunk/blender/source/blender/python/intern/bpy_app.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_app.c	2011-11-05 08:04:49 UTC (rev 41547)
+++ trunk/blender/source/blender/python/intern/bpy_app.c	2011-11-05 08:21:12 UTC (rev 41548)
@@ -22,6 +22,10 @@
 
 /** \file blender/python/intern/bpy_app.c
  *  \ingroup pythonintern
+ *
+ * This file defines a 'PyStructSequence' accessed via 'bpy.app', mostly
+ * exposing static applications variables such as version and buildinfo
+ * however some writable variables have been added such as 'debug' and 'tempdir'
  */
 
 

Modified: trunk/blender/source/blender/python/intern/bpy_app_handlers.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_app_handlers.c	2011-11-05 08:04:49 UTC (rev 41547)
+++ trunk/blender/source/blender/python/intern/bpy_app_handlers.c	2011-11-05 08:21:12 UTC (rev 41548)
@@ -22,6 +22,10 @@
 
 /** \file blender/python/intern/bpy_app_handlers.c
  *  \ingroup pythonintern
+ *
+ * This file defines a 'PyStructSequence' accessed via 'bpy.app.handlers',
+ * which exposes various lists that the script author can add callback
+ * functions into (called via blenders generic BLI_cb api)
  */
 
 #include <Python.h>

Modified: trunk/blender/source/blender/python/intern/bpy_driver.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_driver.c	2011-11-05 08:04:49 UTC (rev 41547)
+++ trunk/blender/source/blender/python/intern/bpy_driver.c	2011-11-05 08:21:12 UTC (rev 41548)
@@ -22,6 +22,10 @@
 
 /** \file blender/python/intern/bpy_driver.c
  *  \ingroup pythonintern
+ *
+ * This file defines the 'BPY_driver_exec' to execute python drivers,
+ * called by the animation system, there are also some utility functions
+ * to deal with the namespace used for driver execution.
  */
 
 /* ****************************************** */

Modified: trunk/blender/source/blender/python/intern/bpy_interface.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_interface.c	2011-11-05 08:04:49 UTC (rev 41547)
+++ trunk/blender/source/blender/python/intern/bpy_interface.c	2011-11-05 08:21:12 UTC (rev 41548)
@@ -23,6 +23,10 @@
 
 /** \file blender/python/intern/bpy_interface.c
  *  \ingroup pythonintern
+ *
+ * This file deals with embedding the python interpreter within blender,
+ * starting and stopping python and exposing blender/python modules so they can
+ * be accesses from scripts.
  */
 
  

Modified: trunk/blender/source/blender/python/intern/bpy_interface_atexit.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_interface_atexit.c	2011-11-05 08:04:49 UTC (rev 41547)
+++ trunk/blender/source/blender/python/intern/bpy_interface_atexit.c	2011-11-05 08:21:12 UTC (rev 41548)
@@ -22,6 +22,10 @@
 
 /** \file blender/python/intern/bpy_interface_atexit.c
  *  \ingroup pythonintern
+ *
+ * This file inserts an exit callback into pythons 'atexit' module.
+ * Without this sys.exit() can crash because blender is not properly closing
+ * resources.
  */
 
 

Modified: trunk/blender/source/blender/python/intern/bpy_intern_string.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_intern_string.c	2011-11-05 08:04:49 UTC (rev 41547)
+++ trunk/blender/source/blender/python/intern/bpy_intern_string.c	2011-11-05 08:21:12 UTC (rev 41548)
@@ -22,6 +22,10 @@
 
 /** \file blender/python/intern/bpy_intern_string.c
  *  \ingroup pythonintern
+ *
+ * Store python versions of strings frequently used for python lookups
+ * to avoid converting, creating the hash and freeing every time as
+ * PyDict_GetItemString and PyObject_GetAttrString do.
  */
 
 #include <Python.h>

Modified: trunk/blender/source/blender/python/intern/bpy_library.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_library.c	2011-11-05 08:04:49 UTC (rev 41547)
+++ trunk/blender/source/blender/python/intern/bpy_library.c	2011-11-05 08:21:12 UTC (rev 41548)
@@ -22,6 +22,12 @@
 
 /** \file blender/python/intern/bpy_library.c
  *  \ingroup pythonintern
+ *
+ * This file exposed blend file library appending/linking to python, typically
+ * this would be done via RNA api but in this case a hand written python api
+ * allows us to use pythons context manager (__enter__ and __exit__).
+ *
+ * Everything here is exposed via bpy.data.libraries.load(...) context manager.
  */
 
 /* nifty feature. swap out strings for RNA data */

Modified: trunk/blender/source/blender/python/intern/bpy_operator.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_operator.c	2011-11-05 08:04:49 UTC (rev 41547)
+++ trunk/blender/source/blender/python/intern/bpy_operator.c	2011-11-05 08:21:12 UTC (rev 41548)
@@ -1,6 +1,4 @@
-
 /*
- *
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
@@ -24,6 +22,13 @@
 
 /** \file blender/python/intern/bpy_operator.c
  *  \ingroup pythonintern
+ *
+ * This file defines '_bpy.ops', an internal python module which gives python
+ * the ability to inspect and call both C and Python defined operators.
+ *
+ * \note
+ * This module is exposed to the user via 'release/scripts/modules/bpy/ops.py'
+ * which fakes exposing operators as modules/functions using its own classes.
  */
 
 

Modified: trunk/blender/source/blender/python/intern/bpy_operator_wrap.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_operator_wrap.c	2011-11-05 08:04:49 UTC (rev 41547)
+++ trunk/blender/source/blender/python/intern/bpy_operator_wrap.c	2011-11-05 08:21:12 UTC (rev 41548)
@@ -22,6 +22,11 @@
 
 /** \file blender/python/intern/bpy_operator_wrap.c
  *  \ingroup pythonintern
+ *
+ * This file is so python can define operators that C can call into.
+ * The generic callback functions for python operators are defines in
+ * 'rna_wm.c', some calling into functions here to do python specific
+ * functionality.
  */
 
 

Modified: trunk/blender/source/blender/python/intern/bpy_props.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_props.c	2011-11-05 08:04:49 UTC (rev 41547)
+++ trunk/blender/source/blender/python/intern/bpy_props.c	2011-11-05 08:21:12 UTC (rev 41548)
@@ -22,6 +22,10 @@
 
 /** \file blender/python/intern/bpy_props.c
  *  \ingroup pythonintern
+ *
+ * This file defines 'bpy.props' module used so scripts can define their own
+ * rna properties for use with python operators or adding new properties to
+ * existing blender types.
  */
 
 
@@ -254,7 +258,7 @@
 {
 	/* assume this is already checked for type and arg length */
 	if (update_cb) {
-		PyObject **py_data= MEM_callocN(sizeof(PyObject *) * BPY_DATA_CB_SLOT_SIZE, "bpy_prop_callback_assign");
+		PyObject **py_data= MEM_callocN(sizeof(PyObject *) * BPY_DATA_CB_SLOT_SIZE, __func__);
 		RNA_def_property_update_runtime(prop, (void *)bpy_prop_update_cb);
 		py_data[BPY_DATA_CB_SLOT_UPDATE]= update_cb;
 		RNA_def_py_data(prop, py_data);

Modified: trunk/blender/source/blender/python/intern/bpy_rna.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_rna.c	2011-11-05 08:04:49 UTC (rev 41547)
+++ trunk/blender/source/blender/python/intern/bpy_rna.c	2011-11-05 08:21:12 UTC (rev 41548)
@@ -22,9 +22,14 @@
 
 /** \file blender/python/intern/bpy_rna.c
  *  \ingroup pythonintern
+ *
+ * This file is the main interface between python and blenders data api (RNA),
+ * exposing RNA to python so blender data can be accessed in a python like way.
+ *
+ * The two main types are 'BPy_StructRNA' and 'BPy_PropertyRNA' - the base
+ * classes for most of the data python accesses in blender.
  */
 
-
 #include <Python.h>
 
 #include <stddef.h>
@@ -6470,7 +6475,9 @@
 	const int is_operator= RNA_struct_is_a(ptr->type, &RNA_Operator);
 	const char *func_id= RNA_function_identifier(func);
 	/* testing, for correctness, not operator and not draw function */
-	const short is_readonly= strstr("draw", func_id) || /*strstr("render", func_id) ||*/ !is_operator;
+	const short is_readonly= ((strncmp("draw", func_id, 4) ==0) || /* draw or draw_header */
+							 /*strstr("render", func_id) ||*/
+							 !is_operator);
 #endif
 
 	py_class= RNA_struct_py_type_get(ptr->type);

Modified: trunk/blender/source/blender/python/intern/bpy_rna_anim.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_rna_anim.c	2011-11-05 08:04:49 UTC (rev 41547)
+++ trunk/blender/source/blender/python/intern/bpy_rna_anim.c	2011-11-05 08:21:12 UTC (rev 41548)
@@ -22,6 +22,8 @@
 
 /** \file blender/python/intern/bpy_rna_anim.c
  *  \ingroup pythonintern
+ *
+ * This file defines the animation related methods used in bpy_rna.c
  */
 
 #include <Python.h>

Modified: trunk/blender/source/blender/python/intern/bpy_rna_array.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_rna_array.c	2011-11-05 08:04:49 UTC (rev 41547)
+++ trunk/blender/source/blender/python/intern/bpy_rna_array.c	2011-11-05 08:21:12 UTC (rev 41548)
@@ -15,13 +15,15 @@

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list