"BranoZ" <[EMAIL PROTECTED]> writes: > I'm writing my own (list-like) type in C. It is implementing > a Sequence Protocol. In 'sq_slice' method I would like to return > a new instance of my class/type. > > How do I create (and initialize) an instance of a given > PyTypeObject MyType ? > > I have tried to provide (PyObject *)&MyType as 'class' argument to: > > PyInstance_New(PyObject *class, PyObject *arg, PyObject *kw) > > It failed the PyClass_Check. > > I have also found a couple of PyObject_New functions which accept > PyTypeObject as an argument. They look very low-level and obviously > don't call __init__. Should I do it myself manualy ?
PyObject_New is the usual way, although there are others -- MyType.tp_new, PyObject_Call ... Cheers, mwh -- 81. In computing, turning the obvious into the useful is a living definition of the word "frustration". -- Alan Perlis, http://www.cs.yale.edu/homes/perlis-alan/quotes.html -- http://mail.python.org/mailman/listinfo/python-list