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>2011-06-17 09:45:46 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-06-17 09:45:46 +0400
commit7cbc4c0dd7cf5c69eb74b36cd01c8321ad1a085f (patch)
treec26ea63790369630896a174700e3f79e38bd490d /source/blender/python/intern/bpy_util.c
parentac089ddd15c0d5400274076dd857f0c22c460a54 (diff)
IDProperty python module update
- add support for IDProp array slicing, but not resizing. - rename array attribute type to typecode and use chars 'f', 'd', 'i' which match pythons array module. (was using int's which only have a meaning internally). - rename function 'convert_to_pyobject' to 'to_dict' and 'to_list' for IDProp group and array types respectively. - remove 'len' array attribute, calling len(array) is fine.
Diffstat (limited to 'source/blender/python/intern/bpy_util.c')
-rw-r--r--source/blender/python/intern/bpy_util.c60
1 files changed, 0 insertions, 60 deletions
diff --git a/source/blender/python/intern/bpy_util.c b/source/blender/python/intern/bpy_util.c
index 6e321015bc6..1450621d59e 100644
--- a/source/blender/python/intern/bpy_util.c
+++ b/source/blender/python/intern/bpy_util.c
@@ -122,63 +122,3 @@ short BPy_errors_to_report(ReportList *reports)
Py_DECREF(pystring_format); // workaround
return 1;
}
-
-/* array utility function */
-int PyC_AsArray(void *array, PyObject *value, int length, PyTypeObject *type, const char *error_prefix)
-{
- PyObject *value_fast;
- int value_len;
- int i;
-
- if(!(value_fast=PySequence_Fast(value, error_prefix))) {
- return -1;
- }
-
- value_len= PySequence_Fast_GET_SIZE(value_fast);
-
- if(value_len != length) {
- Py_DECREF(value);
- PyErr_Format(PyExc_TypeError,
- "%.200s: invalid sequence length. expected %d, got %d",
- error_prefix, length, value_len);
- return -1;
- }
-
- /* for each type */
- if(type == &PyFloat_Type) {
- float *array_float= array;
- for(i=0; i<length; i++) {
- array_float[i]= PyFloat_AsDouble(PySequence_Fast_GET_ITEM(value_fast, i));
- }
- }
- else if(type == &PyLong_Type) {
- int *array_int= array;
- for(i=0; i<length; i++) {
- array_int[i]= PyLong_AsSsize_t(PySequence_Fast_GET_ITEM(value_fast, i));
- }
- }
- else if(type == &PyBool_Type) {
- int *array_bool= array;
- for(i=0; i<length; i++) {
- array_bool[i]= (PyLong_AsSsize_t(PySequence_Fast_GET_ITEM(value_fast, i)) != 0);
- }
- }
- else {
- Py_DECREF(value_fast);
- PyErr_Format(PyExc_TypeError,
- "%s: internal error %s is invalid",
- error_prefix, type->tp_name);
- return -1;
- }
-
- Py_DECREF(value_fast);
-
- if(PyErr_Occurred()) {
- PyErr_Format(PyExc_TypeError,
- "%s: one or more items could not be used as a %s",
- error_prefix, type->tp_name);
- return -1;
- }
-
- return 0;
-}