static PyObject * api_mime_get_part (PyObject *self, PyObject *args) { int status; Py_ssize_t npart; PyMime *py_mime; PyMessage *py_part = PyMessage_NEW (); if (!PyArg_ParseTuple (args, "O!n", &PyMimeType, &py_mime, &npart)) return NULL; ASSERT_INDEX_RANGE (npart, "mime part"); status = mu_mime_get_part (py_mime->mime, npart, &py_part->msg); Py_INCREF (py_part); return status_object (status, (PyObject *)py_part); }
int mu_message_get_part (mu_message_t msg, size_t part, mu_message_t *pmsg) { if (msg == NULL || pmsg == NULL) return EINVAL; /* Overload. */ if (msg->_get_part) return msg->_get_part (msg, part, pmsg); if (msg->mime == NULL) { int status = mu_mime_create (&msg->mime, msg, 0); if (status != 0) return status; } return mu_mime_get_part (msg->mime, part, pmsg); }