aboutsummaryrefslogtreecommitdiffstats
path: root/lang/python/gpgme.i
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2016-05-23 16:09:22 +0000
committerJustus Winter <[email protected]>2016-05-23 16:09:22 +0000
commit5476ca6813fc9d8833d5224f19d4bb7515380ab5 (patch)
treef949f61996e7a90b944b01a40b5d5164c95a7d08 /lang/python/gpgme.i
parentpython: Port more tests. (diff)
downloadgpgme-5476ca6813fc9d8833d5224f19d4bb7515380ab5.tar.gz
gpgme-5476ca6813fc9d8833d5224f19d4bb7515380ab5.zip
python: Move edit callback function.
* lang/python/gpgme.i (pyEditCb): Move... * lang/python/helpers.c: ... here. * lang/python/helpers.h (pyEditCb): New prototype. Signed-off-by: Justus Winter <[email protected]>
Diffstat (limited to 'lang/python/gpgme.i')
-rw-r--r--lang/python/gpgme.i45
1 files changed, 0 insertions, 45 deletions
diff --git a/lang/python/gpgme.i b/lang/python/gpgme.i
index fb882c85..a82efb55 100644
--- a/lang/python/gpgme.i
+++ b/lang/python/gpgme.i
@@ -283,48 +283,3 @@ FILE *fdopen(int fildes, const char *mode);
#include "helpers.h"
%}
%include "helpers.h"
-
-%{
-gpgme_error_t pyEditCb(void *opaque, gpgme_status_code_t status,
- const char *args, int fd) {
- PyObject *func = NULL, *dataarg = NULL, *pyargs = NULL, *retval = NULL;
- PyObject *pyopaque = (PyObject *) opaque;
- gpgme_error_t err_status = 0;
-
- pygpgme_exception_init();
-
- if (PyTuple_Check(pyopaque)) {
- func = PyTuple_GetItem(pyopaque, 0);
- dataarg = PyTuple_GetItem(pyopaque, 1);
- pyargs = PyTuple_New(3);
- } else {
- func = pyopaque;
- pyargs = PyTuple_New(2);
- }
-
- PyTuple_SetItem(pyargs, 0, PyLong_FromLong((long) status));
- PyTuple_SetItem(pyargs, 1, PyUnicode_FromString(args));
- if (dataarg) {
- Py_INCREF(dataarg); /* Because GetItem doesn't give a ref but SetItem taketh away */
- PyTuple_SetItem(pyargs, 2, dataarg);
- }
-
- retval = PyObject_CallObject(func, pyargs);
- Py_DECREF(pyargs);
- if (PyErr_Occurred()) {
- err_status = pygpgme_exception2code();
- } else {
- if (fd>=0 && retval && PyUnicode_Check(retval)) {
- const char *buffer;
- Py_ssize_t size;
-
- buffer = PyUnicode_AsUTF8AndSize(retval, &size);
- write(fd, buffer, size);
- write(fd, "\n", 1);
- }
- }
-
- Py_XDECREF(retval);
- return err_status;
-}
-%}