From b6631b8be74070562b4eb2c4230c7b6ffab92f4b Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 18 Sep 2013 05:20:43 +0000 Subject: fixes for python api docs. also move foreach_get/set examples into their own py example files (prefer not to have example code built into blenders binary). --- doc/python_api/examples/bpy.props.5.py | 2 +- doc/python_api/examples/bpy.types.UIList.1.py | 7 ++++--- .../bpy.types.bpy_prop_collection.foreach_get.py | 11 +++++++++++ .../bpy.types.bpy_prop_collection.foreach_set.py | 11 +++++++++++ doc/python_api/rst/bge.logic.rst | 4 +++- doc/python_api/sphinx_doc_gen.py | 4 ++++ release/scripts/modules/bpy/path.py | 2 +- release/scripts/modules/bpy_extras/mesh_utils.py | 3 ++- release/scripts/modules/bpy_types.py | 10 ++++++---- release/scripts/startup/bl_ui/__init__.py | 2 +- source/blender/python/intern/bpy_rna.c | 22 ---------------------- 11 files changed, 44 insertions(+), 34 deletions(-) create mode 100644 doc/python_api/examples/bpy.types.bpy_prop_collection.foreach_get.py create mode 100644 doc/python_api/examples/bpy.types.bpy_prop_collection.foreach_set.py diff --git a/doc/python_api/examples/bpy.props.5.py b/doc/python_api/examples/bpy.props.5.py index 1f61e33c30f..d2ace54de27 100644 --- a/doc/python_api/examples/bpy.props.5.py +++ b/doc/python_api/examples/bpy.props.5.py @@ -1,6 +1,6 @@ """ Get/Set Example -++++++++++++++ ++++++++++++++++ Get/Set functions can be used for boolean, int, float, string and enum properties. If these callbacks are defined the property will not be stored in the ID properties diff --git a/doc/python_api/examples/bpy.types.UIList.1.py b/doc/python_api/examples/bpy.types.UIList.1.py index 97c9bb40480..88f6b0999cd 100644 --- a/doc/python_api/examples/bpy.types.UIList.1.py +++ b/doc/python_api/examples/bpy.types.UIList.1.py @@ -1,6 +1,7 @@ """ Basic UIList Example -+++++++++++++++++++ +++++++++++++++++++++ + This script is the UIList subclass used to show material slots, with a bunch of additional commentaries. Notice the name of the class, this naming convention is similar as the one for panels or menus. @@ -73,8 +74,8 @@ class UIListPanelExample(bpy.types.Panel): # with no custom draw code, use "UI_UL_list"). layout.template_list("MATERIAL_UL_matslots_example", "", obj, "material_slots", obj, "active_material_index") - # The second one can usually be left as an empty string. It's an additional ID used to distinguish lists in case you - # use the same list several times in a given area. + # The second one can usually be left as an empty string. + # It's an additional ID used to distinguish lists in case you use the same list several times in a given area. layout.template_list("MATERIAL_UL_matslots_example", "compact", obj, "material_slots", obj, "active_material_index", type='COMPACT') diff --git a/doc/python_api/examples/bpy.types.bpy_prop_collection.foreach_get.py b/doc/python_api/examples/bpy.types.bpy_prop_collection.foreach_get.py new file mode 100644 index 00000000000..05163b332a9 --- /dev/null +++ b/doc/python_api/examples/bpy.types.bpy_prop_collection.foreach_get.py @@ -0,0 +1,11 @@ +""" +Only works for 'basic type' properties (bool, int and float)! +Multi-dimensional arrays (like array of vectors) will be flattened into seq. +""" + +collection.foreach_get(attr, some_seq) + +# Python equivalent +for i in range(len(seq)): + some_seq[i] = getattr(collection[i], attr) + diff --git a/doc/python_api/examples/bpy.types.bpy_prop_collection.foreach_set.py b/doc/python_api/examples/bpy.types.bpy_prop_collection.foreach_set.py new file mode 100644 index 00000000000..06ed4840b24 --- /dev/null +++ b/doc/python_api/examples/bpy.types.bpy_prop_collection.foreach_set.py @@ -0,0 +1,11 @@ +""" +Only works for 'basic type' properties (bool, int and float)! +seq must be uni-dimensional, multi-dimensional arrays (like array of vectors) will be re-created from it. +""" + +collection.foreach_set(attr, some_seq) + +# Python equivalent +for i in range(len(some_seq)): + setattr(collection[i], attr, some_seq[i]) + diff --git a/doc/python_api/rst/bge.logic.rst b/doc/python_api/rst/bge.logic.rst index 3a79d32d917..0ddae476e08 100644 --- a/doc/python_api/rst/bge.logic.rst +++ b/doc/python_api/rst/bge.logic.rst @@ -127,7 +127,9 @@ Variables .. data:: joysticks - A list of attached :class:`~bge.types.SCA_PythonJoystick`s. The list size is the maximum number of supported joysticks. If no joystick is available for a given slot, the slot is set to None. + A list of attached :class:`~bge.types.SCA_PythonJoystick`. + The list size is the maximum number of supported joysticks. + If no joystick is available for a given slot, the slot is set to None. ***************** General functions diff --git a/doc/python_api/sphinx_doc_gen.py b/doc/python_api/sphinx_doc_gen.py index 3152685485a..e661bb01e60 100644 --- a/doc/python_api/sphinx_doc_gen.py +++ b/doc/python_api/sphinx_doc_gen.py @@ -482,6 +482,9 @@ def is_struct_seq(value): def undocumented_message(module_name, type_name, identifier): + return "Undocumented" + + """ if str(type_name).startswith('`_)\n\n" % preloadtitle) return message + """ def range_str(val): diff --git a/release/scripts/modules/bpy/path.py b/release/scripts/modules/bpy/path.py index 33039fa8494..e6ccb419059 100644 --- a/release/scripts/modules/bpy/path.py +++ b/release/scripts/modules/bpy/path.py @@ -121,7 +121,7 @@ def is_subdir(path, directory): def clean_name(name, replace="_"): """ Returns a name with characters replaced that - may cause problems under various circumstances, + may cause problems under various circumstances, such as writing to a file. All characters besides A-Z/a-z, 0-9 are replaced with "_" or the replace argument if defined. diff --git a/release/scripts/modules/bpy_extras/mesh_utils.py b/release/scripts/modules/bpy_extras/mesh_utils.py index d905964e71c..a92d2221c38 100644 --- a/release/scripts/modules/bpy_extras/mesh_utils.py +++ b/release/scripts/modules/bpy_extras/mesh_utils.py @@ -327,7 +327,8 @@ def ngon_tessellate(from_data, indices, fix_loops=True): indicie lists. Designed to be used for importers that need indices for an fgon to create from existing verts. - from_data: either a mesh, or a list/tuple of vectors. + :arg from_data: either a mesh, or a list/tuple of vectors. + :type from_data: list or :class:`bpy.types.Mesh` :arg indices: a list of indices to use this list is the ordered closed polyline to fill, and can be a subset of the data given. diff --git a/release/scripts/modules/bpy_types.py b/release/scripts/modules/bpy_types.py index f8870cbe705..819d3e112ff 100644 --- a/release/scripts/modules/bpy_types.py +++ b/release/scripts/modules/bpy_types.py @@ -219,8 +219,9 @@ class _GenericBone: @property def length(self): - """ The distance from head to tail, - when set the head is moved to fit the length. + """ + The distance from head to tail, + when set the head is moved to fit the length. """ return self.vector.length @@ -230,8 +231,9 @@ class _GenericBone: @property def vector(self): - """ The direction this bone is pointing. - Utility function for (tail - head) + """ + The direction this bone is pointing. + Utility function for (tail - head) """ return (self.tail - self.head) diff --git a/release/scripts/startup/bl_ui/__init__.py b/release/scripts/startup/bl_ui/__init__.py index 511f1705d5e..b1b1d0a4d73 100644 --- a/release/scripts/startup/bl_ui/__init__.py +++ b/release/scripts/startup/bl_ui/__init__.py @@ -152,7 +152,7 @@ class UI_UL_list(bpy.types.UIList): propname is the name of the string property to use for filtering. flags must be a list of integers the same length as items, or None! return a list of flags (based on given flags if not None), - or an empty list if no flags were given and no filtering has been done. + or an empty list if no flags were given and no filtering has been done. """ import fnmatch diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c index afa855d6d99..4d4d4873390 100644 --- a/source/blender/python/intern/bpy_rna.c +++ b/source/blender/python/intern/bpy_rna.c @@ -4600,17 +4600,6 @@ PyDoc_STRVAR(pyrna_prop_collection_foreach_get_doc, ".. method:: foreach_get(attr, seq)\n" "\n" " This is a function to give fast access to attributes within a collection.\n" -"\n" -" Only works for 'basic type' properties (bool, int and float)!\n" -" Multi-dimensional arrays (like array of vectors) will be flattened into seq.\n" -"\n" -" .. code-block:: python\n" -"\n" -" collection.foreach_get(attr, someseq)\n" -"\n" -" # Python equivalent\n" -" for i in range(len(seq)): someseq[i] = getattr(collection[i], attr)\n" -"\n" ); static PyObject *pyrna_prop_collection_foreach_get(BPy_PropertyRNA *self, PyObject *args) { @@ -4623,17 +4612,6 @@ PyDoc_STRVAR(pyrna_prop_collection_foreach_set_doc, ".. method:: foreach_set(attr, seq)\n" "\n" " This is a function to give fast access to attributes within a collection.\n" -"\n" -" Only works for 'basic type' properties (bool, int and float)!\n" -" seq must be uni-dimensional, multi-dimensional arrays (like array of vectors) will be re-created from it.\n" -"\n" -" .. code-block:: python\n" -"\n" -" collection.foreach_set(attr, seq)\n" -"\n" -" # Python equivalent\n" -" for i in range(len(seq)): setattr(collection[i], attr, seq[i])\n" -"\n" ); static PyObject *pyrna_prop_collection_foreach_set(BPy_PropertyRNA *self, PyObject *args) { -- cgit v1.2.3