Exemple #1
0
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);
}
Exemple #2
0
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);
}