static PyObject * null_wrapper(PyObject * self, PyOperation * o) { if (PyOperation_Check(o)) { #ifdef CYPHESIS_DEBUG o->operation = Atlas::Objects::Operation::RootOperation(0); #endif // NDEBUG } else if (PyOplist_Check(o)) { #ifdef CYPHESIS_DEBUG ((PyOplist*)o)->ops = 0; #endif // NDEBUG } else if (PyRootEntity_Check(o)) { #ifdef CYPHESIS_DEBUG ((PyRootEntity*)o)->entity = Atlas::Objects::Entity::RootEntity(0); #endif // NDEBUG } else if (PyMessage_Check(o)) { #ifdef CYPHESIS_DEBUG ((PyMessage*)o)->m_obj = 0; #endif // NDEBUG } else { PyErr_SetString(PyExc_TypeError, "Unknown Object type"); return NULL; } Py_INCREF(Py_None); return Py_None; }
static int Point3D_init(PyPoint3D * self, PyObject * args, PyObject * kwds) { PyObject * clist; new (&(self->coords)) Point3D(); switch (PyTuple_Size(args)) { case 0: break; case 1: clist = PyTuple_GetItem(args, 0); if (!PyList_Check(clist)) { PyErr_SetString(PyExc_TypeError, "Point3D() from single value must be a list"); return -1; } if (PyList_Size(clist) != 3) { PyErr_SetString(PyExc_ValueError, "Point3D() from a list must be 3 long"); return -1; } for(int i = 0; i < 3; i++) { PyObject * item = PyList_GetItem(clist, i); if (PyInt_Check(item)) { self->coords[i] = (float)PyInt_AsLong(item); } else if (PyFloat_Check(item)) { self->coords[i] = PyFloat_AsDouble(item); } else if (PyMessage_Check(item)) { PyMessage * mitem = (PyMessage*)item; if (!mitem->m_obj->isNum()) { PyErr_SetString(PyExc_TypeError, "Point3D() must take list of floats, or ints"); return -1; } self->coords[i] = mitem->m_obj->asNum(); } else { PyErr_SetString(PyExc_TypeError, "Point3D() must take list of floats, or ints"); return -1; } } self->coords.setValid(); break; case 3: for(int i = 0; i < 3; i++) { PyObject * item = PyTuple_GetItem(args, i); if (PyInt_Check(item)) { self->coords[i] = (float)PyInt_AsLong(item); } else if (PyFloat_Check(item)) { self->coords[i] = PyFloat_AsDouble(item); } else { PyErr_SetString(PyExc_TypeError, "Point3D() must take list of floats, or ints"); return -1; } } self->coords.setValid(); break; default: PyErr_SetString(PyExc_TypeError, "Point3D must take list of floats, or ints, 3 ints or 3 floats"); return -1; break; } return 0; }
static PyObject * null_wrapper(PyObject * self, PyMessage * o) { if (!PyMessage_Check(o)) { PyErr_SetString(PyExc_TypeError, "Unknown Object type"); return NULL; } #ifdef CYPHESIS_DEBUG o->m_obj = NULL; #endif // NDEBUG Py_INCREF(Py_None); return Py_None; }
static PyObject * api_sieve_message (PyObject *self, PyObject *args) { int status; PySieveMachine *py_mach; PyMessage *py_msg; if (!PyArg_ParseTuple (args, "O!O", &PySieveMachineType, &py_mach, &py_msg)) return NULL; if (!PyMessage_Check ((PyObject *)py_msg)) { PyErr_SetString (PyExc_TypeError, ""); return NULL; } status = mu_sieve_message (py_mach->mach, py_msg->msg); return _ro (PyInt_FromLong (status)); }
static PyObject * api_mime_add_part (PyObject *self, PyObject *args) { int status; PyMime *py_mime; PyMessage *py_msg; if (!PyArg_ParseTuple (args, "O!O", &PyMimeType, &py_mime, &py_msg)) return NULL; if (!PyMessage_Check ((PyObject *)py_msg)) { PyErr_SetString (PyExc_TypeError, ""); return NULL; } status = mu_mime_add_part (py_mime->mime, py_msg->msg); return _ro (PyInt_FromLong (status)); }