Blender  V2.93
Macros | Functions
idprop_py_api.c File Reference
#include <Python.h>
#include "MEM_guardedalloc.h"
#include "BLI_utildefines.h"
#include "idprop_py_api.h"
#include "BKE_idprop.h"
#include "DNA_ID.h"
#include "py_capi_utils.h"
#include "python_utildefines.h"

Go to the source code of this file.

Macros

#define USE_STRING_COERCE
 

Functions

bool pyrna_id_FromPyObject (PyObject *obj, ID **id)
 
PyObject * pyrna_id_CreatePyObject (ID *id)
 
bool pyrna_id_CheckPyObject (PyObject *obj)
 
Python from ID-Property (Internal Conversions)

Low level conversion to avoid duplicate code, no type checking.

static PyObject * idprop_py_from_idp_string (const IDProperty *prop)
 
static PyObject * idprop_py_from_idp_int (const IDProperty *prop)
 
static PyObject * idprop_py_from_idp_float (const IDProperty *prop)
 
static PyObject * idprop_py_from_idp_double (const IDProperty *prop)
 
static PyObject * idprop_py_from_idp_group (ID *id, IDProperty *prop, IDProperty *parent)
 
static PyObject * idprop_py_from_idp_id (IDProperty *prop)
 
static PyObject * idprop_py_from_idp_array (ID *id, IDProperty *prop)
 
static PyObject * idprop_py_from_idp_idparray (ID *id, IDProperty *prop)
 
ID-Property from Python (Internal Conversions)
static IDPropertyidp_from_PyFloat (const char *name, PyObject *ob)
 
static IDPropertyidp_from_PyLong (const char *name, PyObject *ob)
 
static IDPropertyidp_from_PyUnicode (const char *name, PyObject *ob)
 
static IDPropertyidp_from_PyBytes (const char *name, PyObject *ob)
 
static int idp_array_type_from_formatstr_and_size (const char *typestr, Py_ssize_t itemsize)
 
static const char * idp_format_from_array_type (int type)
 
static IDPropertyidp_from_PySequence_Buffer (const char *name, Py_buffer *buffer)
 
static IDPropertyidp_from_PySequence_Fast (const char *name, PyObject *ob)
 
static IDPropertyidp_from_PySequence (const char *name, PyObject *ob)
 
static IDPropertyidp_from_PyMapping (const char *name, PyObject *ob)
 
static IDPropertyidp_from_DatablockPointer (const char *name, PyObject *ob)
 
static IDPropertyidp_from_PyObject (PyObject *name_obj, PyObject *ob)
 
Mapping Get/Set (Internal Access)
bool BPy_IDProperty_Map_ValidateAndCreate (PyObject *name_obj, IDProperty *group, PyObject *ob)
 
int BPy_Wrap_SetMapItem (IDProperty *prop, PyObject *key, PyObject *val)
 
static int BPy_IDGroup_Map_SetItem (BPy_IDProperty *self, PyObject *key, PyObject *val)
 
static PyObject * BPy_IDGroup_iter (BPy_IDProperty *self)
 
PyObject * BPy_IDGroup_MapDataToPy (IDProperty *prop)
 

Variables

ID-Property Group Type
static PySequenceMethods BPy_IDGroup_Seq
 
static PyMappingMethods BPy_IDGroup_Mapping
 
PyTypeObject BPy_IDGroup_Type
 
ID Array Type
PyTypeObject BPy_IDArray_Type
 

IDProp Group Access

static PyGetSetDef BPy_IDGroup_getseters []
 
static Py_hash_t BPy_IDGroup_hash (BPy_IDProperty *self)
 
static PyObject * BPy_IDGroup_repr (BPy_IDProperty *self)
 
PyObject * BPy_IDGroup_WrapData (ID *id, IDProperty *prop, IDProperty *parent)
 
static PyObject * BPy_IDGroup_GetName (BPy_IDProperty *self, void *UNUSED(closure))
 
static int BPy_IDGroup_SetName (BPy_IDProperty *self, PyObject *value, void *UNUSED(closure))
 
static Py_ssize_t BPy_IDGroup_Map_Len (BPy_IDProperty *self)
 
static PyObject * BPy_IDGroup_Map_GetItem (BPy_IDProperty *self, PyObject *item)
 
static char idp_sequence_type (PyObject *seq_fast)
 
static const char * idp_try_read_name (PyObject *name_obj)
 

ID-Property Group Methods

static struct PyMethodDef BPy_IDGroup_methods []
 
 PyDoc_STRVAR (BPy_IDGroup_pop_doc, ".. method:: pop(key, default)\n" "\n" " Remove an item from the group, returning a Python representation.\n" "\n" " :raises KeyError: When the item doesn't exist.\n" "\n" " :arg key: Name of item to remove.\n" " :type key: string\n" " :arg default: Value to return when key isn't found, otherwise raise an exception.\n" " :type default: Undefined\n")
 
static PyObject * BPy_IDGroup_pop (BPy_IDProperty *self, PyObject *args)
 
 PyDoc_STRVAR (BPy_IDGroup_iter_items_doc, ".. method:: iteritems()\n" "\n" " Iterate through the items in the dict; behaves like dictionary method iteritems.\n")
 
static PyObject * BPy_IDGroup_iter_items (BPy_IDProperty *self)
 
static void BPy_IDGroup_CorrectListLen (IDProperty *prop, PyObject *seq, int len, const char *func)
 
PyObject * BPy_Wrap_GetKeys (IDProperty *prop)
 
PyObject * BPy_Wrap_GetValues (ID *id, IDProperty *prop)
 
PyObject * BPy_Wrap_GetItems (ID *id, IDProperty *prop)
 
 PyDoc_STRVAR (BPy_IDGroup_keys_doc, ".. method:: keys()\n" "\n" " Return the keys associated with this group as a list of strings.\n")
 
static PyObject * BPy_IDGroup_keys (BPy_IDProperty *self)
 
 PyDoc_STRVAR (BPy_IDGroup_values_doc, ".. method:: values()\n" "\n" " Return the values associated with this group.\n")
 
static PyObject * BPy_IDGroup_values (BPy_IDProperty *self)
 
 PyDoc_STRVAR (BPy_IDGroup_items_doc, ".. method:: items()\n" "\n" " Return the items associated with this group.\n")
 
static PyObject * BPy_IDGroup_items (BPy_IDProperty *self)
 
static int BPy_IDGroup_Contains (BPy_IDProperty *self, PyObject *value)
 
 PyDoc_STRVAR (BPy_IDGroup_update_doc, ".. method:: update(other)\n" "\n" " Update key, values.\n" "\n" " :arg other: Updates the values in the group with this.\n" " :type other: :class:`IDPropertyGroup` or dict\n")
 
static PyObject * BPy_IDGroup_update (BPy_IDProperty *self, PyObject *value)
 
 PyDoc_STRVAR (BPy_IDGroup_to_dict_doc, ".. method:: to_dict()\n" "\n" " Return a purely python version of the group.\n")
 
static PyObject * BPy_IDGroup_to_dict (BPy_IDProperty *self)
 
 PyDoc_STRVAR (BPy_IDGroup_clear_doc, ".. method:: clear()\n" "\n" " Clear all members from this group.\n")
 
static PyObject * BPy_IDGroup_clear (BPy_IDProperty *self)
 
 PyDoc_STRVAR (BPy_IDGroup_get_doc, ".. method:: get(key, default=None)\n" "\n" " Return the value for key, if it exists, else default.\n")
 
static PyObject * BPy_IDGroup_get (BPy_IDProperty *self, PyObject *args)
 

ID Array Methods

static PyGetSetDef BPy_IDArray_getseters []
 
static PyMethodDef BPy_IDArray_methods []
 
static PySequenceMethods BPy_IDArray_Seq
 
static PyMappingMethods BPy_IDArray_AsMapping
 
static PyBufferProcs BPy_IDArray_Buffer
 
static PyTypeObject * idp_array_py_type (BPy_IDArray *self, bool *r_is_double)
 
static PyObject * BPy_IDArray_repr (BPy_IDArray *self)
 
 PyDoc_STRVAR (BPy_IDArray_get_typecode_doc, "The type of the data in the array {'f': float, 'd': double, 'i': int}.")
 
static PyObject * BPy_IDArray_get_typecode (BPy_IDArray *self)
 
 PyDoc_STRVAR (BPy_IDArray_to_list_doc, ".. method:: to_list()\n" "\n" " Return the array as a list.\n")
 
static PyObject * BPy_IDArray_to_list (BPy_IDArray *self)
 
static int BPy_IDArray_Len (BPy_IDArray *self)
 
static PyObject * BPy_IDArray_GetItem (BPy_IDArray *self, int index)
 
static int BPy_IDArray_SetItem (BPy_IDArray *self, int index, PyObject *value)
 
static PyObject * BPy_IDArray_slice (BPy_IDArray *self, int begin, int end)
 
static int BPy_IDArray_ass_slice (BPy_IDArray *self, int begin, int end, PyObject *seq)
 
static PyObject * BPy_IDArray_subscript (BPy_IDArray *self, PyObject *item)
 
static int BPy_IDArray_ass_subscript (BPy_IDArray *self, PyObject *item, PyObject *value)
 
static int itemsize_by_idarray_type (int array_type)
 
static int BPy_IDArray_getbuffer (BPy_IDArray *self, Py_buffer *view, int flags)
 
static void BPy_IDArray_releasebuffer (BPy_IDArray *UNUSED(self), Py_buffer *view)
 

ID-Property Group Iterator Type

PyTypeObject BPy_IDGroup_Iter_Type
 
static PyObject * IDGroup_Iter_repr (BPy_IDGroup_Iter *self)
 
static void BPy_IDGroup_Iter_dealloc (BPy_IDGroup_Iter *self)
 
static int BPy_IDGroup_Iter_traverse (BPy_IDGroup_Iter *self, visitproc visit, void *arg)
 
static int BPy_IDGroup_Iter_clear (BPy_IDGroup_Iter *self)
 
static PyObject * BPy_Group_Iter_Next (BPy_IDGroup_Iter *self)
 
void IDProp_Init_Types (void)
 

Public Module 'idprop.types'

static struct PyModuleDef IDProp_types_module_def
 
static PyObject * BPyInit_idprop_types (void)
 

Public Module 'idprop'

static PyMethodDef IDProp_methods []
 
static struct PyModuleDef IDProp_module_def
 
 PyDoc_STRVAR (IDProp_module_doc, "This module provides access id property types (currently mainly for docs).")
 
PyObject * BPyInit_idprop (void)
 

Macro Definition Documentation

◆ USE_STRING_COERCE

#define USE_STRING_COERCE

Definition at line 33 of file idprop_py_api.c.

Function Documentation

◆ BPy_Group_Iter_Next()

static PyObject* BPy_Group_Iter_Next ( BPy_IDGroup_Iter self)
static

◆ BPy_IDArray_ass_slice()

static int BPy_IDArray_ass_slice ( BPy_IDArray self,
int  begin,
int  end,
PyObject *  seq 
)
static

◆ BPy_IDArray_ass_subscript()

static int BPy_IDArray_ass_subscript ( BPy_IDArray self,
PyObject *  item,
PyObject *  value 
)
static

Definition at line 1514 of file idprop_py_api.c.

References BPy_IDArray_ass_slice(), BPy_IDArray_SetItem(), and self.

◆ BPy_IDArray_get_typecode()

static PyObject* BPy_IDArray_get_typecode ( BPy_IDArray self)
static

Definition at line 1283 of file idprop_py_api.c.

References IDP_DOUBLE, IDP_FLOAT, IDP_INT, NULL, and self.

◆ BPy_IDArray_getbuffer()

static int BPy_IDArray_getbuffer ( BPy_IDArray self,
Py_buffer *  view,
int  flags 
)
static

◆ BPy_IDArray_GetItem()

static PyObject* BPy_IDArray_GetItem ( BPy_IDArray self,
int  index 
)
static

Definition at line 1329 of file idprop_py_api.c.

References IDP_Array, IDP_DOUBLE, IDP_FLOAT, IDP_INT, NULL, and self.

Referenced by BPy_IDArray_subscript().

◆ BPy_IDArray_Len()

static int BPy_IDArray_Len ( BPy_IDArray self)
static

Definition at line 1324 of file idprop_py_api.c.

◆ BPy_IDArray_releasebuffer()

static void BPy_IDArray_releasebuffer ( BPy_IDArray UNUSEDself,
Py_buffer *  view 
)
static

Definition at line 1586 of file idprop_py_api.c.

References MEM_freeN, and view.

◆ BPy_IDArray_repr()

static PyObject* BPy_IDArray_repr ( BPy_IDArray self)
static

Definition at line 1276 of file idprop_py_api.c.

References self.

◆ BPy_IDArray_SetItem()

static int BPy_IDArray_SetItem ( BPy_IDArray self,
int  index,
PyObject *  value 
)
static

Definition at line 1351 of file idprop_py_api.c.

References float(), IDP_Array, IDP_DOUBLE, IDP_FLOAT, IDP_INT, and self.

Referenced by BPy_IDArray_ass_subscript().

◆ BPy_IDArray_slice()

static PyObject* BPy_IDArray_slice ( BPy_IDArray self,
int  begin,
int  end 
)
static

◆ BPy_IDArray_subscript()

static PyObject* BPy_IDArray_subscript ( BPy_IDArray self,
PyObject *  item 
)
static

Definition at line 1476 of file idprop_py_api.c.

References BPy_IDArray_GetItem(), BPy_IDArray_slice(), NULL, and self.

◆ BPy_IDArray_to_list()

static PyObject* BPy_IDArray_to_list ( BPy_IDArray self)
static

Definition at line 1314 of file idprop_py_api.c.

References BPy_IDGroup_MapDataToPy(), and self.

◆ BPy_IDGroup_clear()

static PyObject* BPy_IDGroup_clear ( BPy_IDProperty self)
static

Definition at line 1120 of file idprop_py_api.c.

References IDP_ClearProperty(), and self.

◆ BPy_IDGroup_Contains()

static int BPy_IDGroup_Contains ( BPy_IDProperty self,
PyObject *  value 
)
static

Definition at line 1056 of file idprop_py_api.c.

References IDP_GetPropertyFromGroup(), and self.

◆ BPy_IDGroup_CorrectListLen()

static void BPy_IDGroup_CorrectListLen ( IDProperty prop,
PyObject *  seq,
int  len,
const char *  func 
)
static

Definition at line 946 of file idprop_py_api.c.

References len, and IDProperty::len.

Referenced by BPy_Wrap_GetItems(), BPy_Wrap_GetKeys(), and BPy_Wrap_GetValues().

◆ BPy_IDGroup_get()

static PyObject* BPy_IDGroup_get ( BPy_IDProperty self,
PyObject *  args 
)
static

Definition at line 1130 of file idprop_py_api.c.

References BPy_IDGroup_WrapData(), IDP_GetPropertyFromGroup(), NULL, and self.

◆ BPy_IDGroup_GetName()

static PyObject* BPy_IDGroup_GetName ( BPy_IDProperty self,
void *  UNUSEDclosure 
)
static

Definition at line 241 of file idprop_py_api.c.

References self.

◆ BPy_IDGroup_hash()

static Py_hash_t BPy_IDGroup_hash ( BPy_IDProperty self)
static

Definition at line 135 of file idprop_py_api.c.

References self.

◆ BPy_IDGroup_items()

static PyObject* BPy_IDGroup_items ( BPy_IDProperty self)
static

Definition at line 1051 of file idprop_py_api.c.

References BPy_Wrap_GetItems(), and self.

◆ BPy_IDGroup_iter()

static PyObject* BPy_IDGroup_iter ( BPy_IDProperty self)
static

◆ BPy_IDGroup_Iter_clear()

static int BPy_IDGroup_Iter_clear ( BPy_IDGroup_Iter self)
static

Definition at line 1705 of file idprop_py_api.c.

References self.

◆ BPy_IDGroup_Iter_dealloc()

static void BPy_IDGroup_Iter_dealloc ( BPy_IDGroup_Iter self)
static

Definition at line 1692 of file idprop_py_api.c.

References self.

◆ BPy_IDGroup_iter_items()

static PyObject* BPy_IDGroup_iter_items ( BPy_IDProperty self)
static

◆ BPy_IDGroup_Iter_traverse()

static int BPy_IDGroup_Iter_traverse ( BPy_IDGroup_Iter self,
visitproc  visit,
void *  arg 
)
static

Definition at line 1699 of file idprop_py_api.c.

References self.

◆ BPy_IDGroup_keys()

static PyObject* BPy_IDGroup_keys ( BPy_IDProperty self)
static

Definition at line 1033 of file idprop_py_api.c.

References BPy_Wrap_GetKeys(), and self.

◆ BPy_IDGroup_Map_GetItem()

static PyObject* BPy_IDGroup_Map_GetItem ( BPy_IDProperty self,
PyObject *  item 
)
static

Definition at line 293 of file idprop_py_api.c.

References BPy_IDGroup_WrapData(), IDP_GetPropertyFromGroup(), IDP_GROUP, NULL, and self.

◆ BPy_IDGroup_Map_Len()

static Py_ssize_t BPy_IDGroup_Map_Len ( BPy_IDProperty self)
static

Definition at line 283 of file idprop_py_api.c.

References IDP_GROUP, and self.

◆ BPy_IDGroup_Map_SetItem()

static int BPy_IDGroup_Map_SetItem ( BPy_IDProperty self,
PyObject *  key,
PyObject *  val 
)
static

Definition at line 755 of file idprop_py_api.c.

References BPy_Wrap_SetMapItem(), and self.

Referenced by BPy_IDGroup_update().

◆ BPy_IDGroup_MapDataToPy()

PyObject* BPy_IDGroup_MapDataToPy ( IDProperty prop)

◆ BPy_IDGroup_pop()

static PyObject* BPy_IDGroup_pop ( BPy_IDProperty self,
PyObject *  args 
)
static

◆ BPy_IDGroup_repr()

static PyObject* BPy_IDGroup_repr ( BPy_IDProperty self)
static

Definition at line 140 of file idprop_py_api.c.

References self.

◆ BPy_IDGroup_SetName()

static int BPy_IDGroup_SetName ( BPy_IDProperty self,
PyObject *  value,
void *  UNUSEDclosure 
)
static

Definition at line 246 of file idprop_py_api.c.

References MAX_IDPROP_NAME, and self.

◆ BPy_IDGroup_to_dict()

static PyObject* BPy_IDGroup_to_dict ( BPy_IDProperty self)
static

Definition at line 1111 of file idprop_py_api.c.

References BPy_IDGroup_MapDataToPy(), and self.

◆ BPy_IDGroup_update()

static PyObject* BPy_IDGroup_update ( BPy_IDProperty self,
PyObject *  value 
)
static

◆ BPy_IDGroup_values()

static PyObject* BPy_IDGroup_values ( BPy_IDProperty self)
static

Definition at line 1042 of file idprop_py_api.c.

References BPy_Wrap_GetValues(), and self.

◆ BPy_IDGroup_WrapData()

PyObject* BPy_IDGroup_WrapData ( ID id,
IDProperty prop,
IDProperty parent 
)

◆ BPy_IDProperty_Map_ValidateAndCreate()

bool BPy_IDProperty_Map_ValidateAndCreate ( PyObject *  name_obj,
IDProperty group,
PyObject *  ob 
)

◆ BPy_Wrap_GetItems()

PyObject* BPy_Wrap_GetItems ( ID id,
IDProperty prop 
)

◆ BPy_Wrap_GetKeys()

PyObject* BPy_Wrap_GetKeys ( IDProperty prop)

◆ BPy_Wrap_GetValues()

PyObject* BPy_Wrap_GetValues ( ID id,
IDProperty prop 
)

◆ BPy_Wrap_SetMapItem()

int BPy_Wrap_SetMapItem ( IDProperty prop,
PyObject *  key,
PyObject *  val 
)

◆ BPyInit_idprop()

PyObject* BPyInit_idprop ( void  )

Definition at line 1858 of file idprop_py_api.c.

References BPyInit_idprop_types(), IDProp_module_def, and mod().

◆ BPyInit_idprop_types()

static PyObject* BPyInit_idprop_types ( void  )
static

◆ IDGroup_Iter_repr()

static PyObject* IDGroup_Iter_repr ( BPy_IDGroup_Iter self)
static

Definition at line 1687 of file idprop_py_api.c.

References self.

◆ idp_array_py_type()

static PyTypeObject* idp_array_py_type ( BPy_IDArray self,
bool *  r_is_double 
)
static

Definition at line 1258 of file idprop_py_api.c.

References IDP_DOUBLE, IDP_FLOAT, IDP_INT, NULL, and self.

Referenced by BPy_IDArray_ass_slice().

◆ idp_array_type_from_formatstr_and_size()

static int idp_array_type_from_formatstr_and_size ( const char *  typestr,
Py_ssize_t  itemsize 
)
static

◆ idp_format_from_array_type()

static const char* idp_format_from_array_type ( int  type)
static

Definition at line 459 of file idprop_py_api.c.

References IDP_DOUBLE, IDP_FLOAT, IDP_INT, NULL, and type.

Referenced by BPy_IDArray_getbuffer().

◆ idp_from_DatablockPointer()

static IDProperty* idp_from_DatablockPointer ( const char *  name,
PyObject *  ob 
)
static

Definition at line 629 of file idprop_py_api.c.

References IDPropertyTemplate::id, IDP_ID, IDP_New(), and pyrna_id_FromPyObject().

Referenced by idp_from_PyObject().

◆ idp_from_PyBytes()

static IDProperty* idp_from_PyBytes ( const char *  name,
PyObject *  ob 
)
static

◆ idp_from_PyFloat()

static IDProperty* idp_from_PyFloat ( const char *  name,
PyObject *  ob 
)
static

The 'idp_from_Py*' functions expect that the input type has been checked before and return NULL if the IDProperty can't be created.

Definition at line 393 of file idprop_py_api.c.

References IDPropertyTemplate::d, IDP_DOUBLE, and IDP_New().

Referenced by idp_from_PyObject().

◆ idp_from_PyLong()

static IDProperty* idp_from_PyLong ( const char *  name,
PyObject *  ob 
)
static

Definition at line 400 of file idprop_py_api.c.

References IDPropertyTemplate::i, IDP_INT, IDP_New(), and NULL.

Referenced by idp_from_PyObject().

◆ idp_from_PyMapping()

static IDProperty* idp_from_PyMapping ( const char *  name,
PyObject *  ob 
)
static

◆ idp_from_PyObject()

static IDProperty* idp_from_PyObject ( PyObject *  name_obj,
PyObject *  ob 
)
static

◆ idp_from_PySequence()

static IDProperty* idp_from_PySequence ( const char *  name,
PyObject *  ob 
)
static

◆ idp_from_PySequence_Buffer()

static IDProperty* idp_from_PySequence_Buffer ( const char *  name,
Py_buffer *  buffer 
)
static

◆ idp_from_PySequence_Fast()

static IDProperty* idp_from_PySequence_Fast ( const char *  name,
PyObject *  ob 
)
static

◆ idp_from_PyUnicode()

static IDProperty* idp_from_PyUnicode ( const char *  name,
PyObject *  ob 
)
static

◆ idp_sequence_type()

static char idp_sequence_type ( PyObject *  seq_fast)
static

Definition at line 321 of file idprop_py_api.c.

References IDP_DOUBLE, IDP_IDPARRAY, IDP_INT, len, and type.

Referenced by idp_from_PySequence_Fast().

◆ idp_try_read_name()

static const char* idp_try_read_name ( PyObject *  name_obj)
static

Definition at line 356 of file idprop_py_api.c.

References MAX_IDPROP_NAME, and NULL.

Referenced by idp_from_PyObject().

◆ IDProp_Init_Types()

void IDProp_Init_Types ( void  )

◆ idprop_py_from_idp_array()

static PyObject* idprop_py_from_idp_array ( ID id,
IDProperty prop 
)
static

Definition at line 93 of file idprop_py_api.c.

References BPy_IDArray_Type, and id.

Referenced by BPy_IDGroup_WrapData().

◆ idprop_py_from_idp_double()

static PyObject* idprop_py_from_idp_double ( const IDProperty prop)
static

Definition at line 74 of file idprop_py_api.c.

References IDP_Double.

Referenced by BPy_IDGroup_MapDataToPy(), and BPy_IDGroup_WrapData().

◆ idprop_py_from_idp_float()

static PyObject* idprop_py_from_idp_float ( const IDProperty prop)
static

Definition at line 69 of file idprop_py_api.c.

References IDP_Float.

Referenced by BPy_IDGroup_MapDataToPy(), and BPy_IDGroup_WrapData().

◆ idprop_py_from_idp_group()

static PyObject* idprop_py_from_idp_group ( ID id,
IDProperty prop,
IDProperty parent 
)
static

◆ idprop_py_from_idp_id()

static PyObject* idprop_py_from_idp_id ( IDProperty prop)
static

◆ idprop_py_from_idp_idparray()

static PyObject* idprop_py_from_idp_idparray ( ID id,
IDProperty prop 
)
static

◆ idprop_py_from_idp_int()

static PyObject* idprop_py_from_idp_int ( const IDProperty prop)
static

Definition at line 64 of file idprop_py_api.c.

References IDP_Int.

Referenced by BPy_IDGroup_MapDataToPy(), and BPy_IDGroup_WrapData().

◆ idprop_py_from_idp_string()

static PyObject* idprop_py_from_idp_string ( const IDProperty prop)
static

◆ itemsize_by_idarray_type()

static int itemsize_by_idarray_type ( int  array_type)
static

Definition at line 1552 of file idprop_py_api.c.

References double(), float(), IDP_DOUBLE, IDP_FLOAT, and IDP_INT.

Referenced by BPy_IDArray_getbuffer().

◆ PyDoc_STRVAR() [1/12]

PyDoc_STRVAR ( BPy_IDArray_get_typecode_doc  ,
"The type of the data in the array {'f': float, 'd': double, 'i': int}."   
)

◆ PyDoc_STRVAR() [2/12]

PyDoc_STRVAR ( BPy_IDArray_to_list_doc  ,
".. method:: to_list()\n" "\n" " Return the array as a list.\n"   
)

◆ PyDoc_STRVAR() [3/12]

PyDoc_STRVAR ( BPy_IDGroup_clear_doc  ,
".. method:: clear()\n" "\n" " Clear all members from this group.\n"   
)

◆ PyDoc_STRVAR() [4/12]

PyDoc_STRVAR ( BPy_IDGroup_get_doc  ,
".. method:: get(key, default=None)\n" "\n" " Return the value for  key,
if it  exists,
else default.\n"   
)

◆ PyDoc_STRVAR() [5/12]

PyDoc_STRVAR ( BPy_IDGroup_items_doc  ,
".. method:: items()\n" "\n" " Return the items associated with this group.\n"   
)

◆ PyDoc_STRVAR() [6/12]

PyDoc_STRVAR ( BPy_IDGroup_iter_items_doc  ,
".. method:: iteritems()\n" "\n" " Iterate through the items in the dict; behaves like dictionary method iteritems.\n"   
)

◆ PyDoc_STRVAR() [7/12]

PyDoc_STRVAR ( BPy_IDGroup_keys_doc  ,
".. method:: keys()\n" "\n" " Return the keys associated with this group as a list of strings.\n"   
)

◆ PyDoc_STRVAR() [8/12]

PyDoc_STRVAR ( BPy_IDGroup_pop_doc  ,
".. method:: pop(key, default)\n" "\n" " Remove an item from the  group,
returning a Python representation.\n" "\n" " :raises KeyError:When the item doesn 't exist.\n" "\n" " :arg key:Name of item to remove.\n" " :type key:string\n" " :arg default:Value to return when key isn 't  found,
otherwise raise an exception.\n" " :type default:Undefined\n"   
)

◆ PyDoc_STRVAR() [9/12]

PyDoc_STRVAR ( BPy_IDGroup_to_dict_doc  ,
".. method:: to_dict()\n" "\n" " Return a purely python version of the group.\n"   
)

◆ PyDoc_STRVAR() [10/12]

PyDoc_STRVAR ( BPy_IDGroup_update_doc  ,
".. method:: update(other)\n" "\n" " Update  key,
values.\n" "\n" " :arg other:Updates the values in the group with this.\n" " :type other::class:`IDPropertyGroup` or dict\n"   
)

◆ PyDoc_STRVAR() [11/12]

PyDoc_STRVAR ( BPy_IDGroup_values_doc  ,
".. method:: values()\n" "\n" " Return the values associated with this group.\n"   
)

◆ PyDoc_STRVAR() [12/12]

PyDoc_STRVAR ( IDProp_module_doc  ,
"This module provides access id property types (currently mainly for docs)."   
)

◆ pyrna_id_CheckPyObject()

bool pyrna_id_CheckPyObject ( PyObject *  obj)

Definition at line 7633 of file bpy_rna.c.

References BPy_StructRNA_Check, ptr, RNA_struct_is_ID(), and PointerRNA::type.

Referenced by idp_from_PyObject().

◆ pyrna_id_CreatePyObject()

PyObject* pyrna_id_CreatePyObject ( ID id)

◆ pyrna_id_FromPyObject()

bool pyrna_id_FromPyObject ( PyObject *  obj,
ID **  id 
)

Definition at line 7622 of file bpy_rna.c.

References NULL, and pyrna_id_CheckPyObject().

Referenced by bpy_batch_remove(), bpy_lib_write(), and idp_from_DatablockPointer().

Variable Documentation

◆ BPy_IDArray_AsMapping

PyMappingMethods BPy_IDArray_AsMapping
static
Initial value:
= {
(lenfunc)BPy_IDArray_Len,
(binaryfunc)BPy_IDArray_subscript,
(objobjargproc)BPy_IDArray_ass_subscript,
}
static int BPy_IDArray_ass_subscript(BPy_IDArray *self, PyObject *item, PyObject *value)
static PyObject * BPy_IDArray_subscript(BPy_IDArray *self, PyObject *item)
static int BPy_IDArray_Len(BPy_IDArray *self)

Definition at line 1546 of file idprop_py_api.c.

◆ BPy_IDArray_Buffer

PyBufferProcs BPy_IDArray_Buffer
static
Initial value:
= {
(getbufferproc)BPy_IDArray_getbuffer,
(releasebufferproc)BPy_IDArray_releasebuffer,
}
static void BPy_IDArray_releasebuffer(BPy_IDArray *UNUSED(self), Py_buffer *view)
static int BPy_IDArray_getbuffer(BPy_IDArray *self, Py_buffer *view, int flags)

Definition at line 1591 of file idprop_py_api.c.

◆ BPy_IDArray_getseters

PyGetSetDef BPy_IDArray_getseters[]
static
Initial value:
= {
{"typecode",
(setter)NULL,
BPy_IDArray_get_typecode_doc,
NULL},
}
static PyObject * BPy_IDArray_get_typecode(BPy_IDArray *self)

Definition at line 1300 of file idprop_py_api.c.

◆ BPy_IDArray_methods

PyMethodDef BPy_IDArray_methods[]
static
Initial value:
= {
{"to_list", (PyCFunction)BPy_IDArray_to_list, METH_NOARGS, BPy_IDArray_to_list_doc},
{NULL, NULL, 0, NULL},
}
static PyObject * BPy_IDArray_to_list(BPy_IDArray *self)

Definition at line 1319 of file idprop_py_api.c.

◆ BPy_IDArray_Seq

PySequenceMethods BPy_IDArray_Seq
static
Initial value:
= {
(lenfunc)BPy_IDArray_Len,
NULL,
NULL,
(ssizeargfunc)BPy_IDArray_GetItem,
NULL,
(ssizeobjargproc)BPy_IDArray_SetItem,
NULL,
NULL,
NULL,
NULL,
}
static PyObject * BPy_IDArray_GetItem(BPy_IDArray *self, int index)
static int BPy_IDArray_SetItem(BPy_IDArray *self, int index, PyObject *value)

Definition at line 1388 of file idprop_py_api.c.

◆ BPy_IDArray_Type

PyTypeObject BPy_IDArray_Type

◆ BPy_IDGroup_getseters

PyGetSetDef BPy_IDGroup_getseters[]
static
Initial value:
= {
{"name",
"The name of this Group.",
NULL},
}
static PyObject * BPy_IDGroup_GetName(BPy_IDProperty *self, void *UNUSED(closure))
static int BPy_IDGroup_SetName(BPy_IDProperty *self, PyObject *value, void *UNUSED(closure))

Definition at line 274 of file idprop_py_api.c.

◆ BPy_IDGroup_Iter_Type

PyTypeObject BPy_IDGroup_Iter_Type

◆ BPy_IDGroup_Mapping

PyMappingMethods BPy_IDGroup_Mapping
static
Initial value:
= {
(objobjargproc)BPy_IDGroup_Map_SetItem,
}
static PyObject * BPy_IDGroup_Map_GetItem(BPy_IDProperty *self, PyObject *item)
static Py_ssize_t BPy_IDGroup_Map_Len(BPy_IDProperty *self)
static int BPy_IDGroup_Map_SetItem(BPy_IDProperty *self, PyObject *key, PyObject *val)

Definition at line 1185 of file idprop_py_api.c.

◆ BPy_IDGroup_methods

struct PyMethodDef BPy_IDGroup_methods[]
static
Initial value:
= {
{"pop", (PyCFunction)BPy_IDGroup_pop, METH_VARARGS, BPy_IDGroup_pop_doc},
{"iteritems", (PyCFunction)BPy_IDGroup_iter_items, METH_NOARGS, BPy_IDGroup_iter_items_doc},
{"keys", (PyCFunction)BPy_IDGroup_keys, METH_NOARGS, BPy_IDGroup_keys_doc},
{"values", (PyCFunction)BPy_IDGroup_values, METH_NOARGS, BPy_IDGroup_values_doc},
{"items", (PyCFunction)BPy_IDGroup_items, METH_NOARGS, BPy_IDGroup_items_doc},
{"update", (PyCFunction)BPy_IDGroup_update, METH_O, BPy_IDGroup_update_doc},
{"get", (PyCFunction)BPy_IDGroup_get, METH_VARARGS, BPy_IDGroup_get_doc},
{"to_dict", (PyCFunction)BPy_IDGroup_to_dict, METH_NOARGS, BPy_IDGroup_to_dict_doc},
{"clear", (PyCFunction)BPy_IDGroup_clear, METH_NOARGS, BPy_IDGroup_clear_doc},
{NULL, NULL, 0, NULL},
}
static PyObject * BPy_IDGroup_pop(BPy_IDProperty *self, PyObject *args)
static PyObject * BPy_IDGroup_get(BPy_IDProperty *self, PyObject *args)
static PyObject * BPy_IDGroup_keys(BPy_IDProperty *self)
static PyObject * BPy_IDGroup_values(BPy_IDProperty *self)
static PyObject * BPy_IDGroup_clear(BPy_IDProperty *self)
static PyObject * BPy_IDGroup_items(BPy_IDProperty *self)
static PyObject * BPy_IDGroup_to_dict(BPy_IDProperty *self)
static PyObject * BPy_IDGroup_update(BPy_IDProperty *self, PyObject *value)
static PyObject * BPy_IDGroup_iter_items(BPy_IDProperty *self)

Definition at line 1130 of file idprop_py_api.c.

◆ BPy_IDGroup_Seq

PySequenceMethods BPy_IDGroup_Seq
static
Initial value:
= {
NULL,
NULL,
NULL,
NULL,
NULL,
(objobjproc)BPy_IDGroup_Contains,
NULL,
NULL,
}
static int BPy_IDGroup_Contains(BPy_IDProperty *self, PyObject *value)

Definition at line 1171 of file idprop_py_api.c.

◆ BPy_IDGroup_Type

PyTypeObject BPy_IDGroup_Type

◆ IDProp_methods

PyMethodDef IDProp_methods[]
static
Initial value:
= {
{NULL, NULL, 0, NULL},
}

Definition at line 1840 of file idprop_py_api.c.

◆ IDProp_module_def

struct PyModuleDef IDProp_module_def
static
Initial value:
= {
PyModuleDef_HEAD_INIT,
"idprop",
IDProp_module_doc,
0,
NULL,
NULL,
NULL,
NULL,
}
static PyMethodDef IDProp_methods[]

Definition at line 1844 of file idprop_py_api.c.

Referenced by BPyInit_idprop().

◆ IDProp_types_module_def

struct PyModuleDef IDProp_types_module_def
static
Initial value:
= {
PyModuleDef_HEAD_INIT,
"idprop.types",
NULL,
0,
NULL,
NULL,
NULL,
NULL,
NULL,
}

Definition at line 1793 of file idprop_py_api.c.

Referenced by BPyInit_idprop_types().