python: Implement data callbacks.
authorJustus Winter <justus@gnupg.org>
Fri, 27 May 2016 12:04:28 +0000 (14:04 +0200)
committerJustus Winter <justus@gnupg.org>
Fri, 27 May 2016 12:04:28 +0000 (14:04 +0200)
commit2ae847c02731994d99e69d3d025ff01f41406452
tree71a4609243a69a10fced3a512715f1a4e915cc6a
parentebfe2300c33a3bad311e9ac1530e6c92636a08a4
python: Implement data callbacks.

* lang/python/gpgme.i (object_to_gpgme_t): Set exception on error.
* lang/python/helpers.c (pyDataReadCb): New function.
(pyDataWriteCb): Likewise.
(pyDataSeekCb): Likewise.
(pyDataReleaseCb): Likewise.
(pygpgme_data_new_from_cbs): Likewise.
* lang/python/helpers.h (pygpgme_data_new_from_cbs): New prototype.
* lang/python/pyme/core.py (Data.__init__): Fix docstring, fix read
callbacks.
(Data.__del__): Fix read callbacks.
(Data._free_readcb): Drop function.
(Data._free_datacbs): New function.
(Data.new_from_cbs): Fix setting the callbacks.
(Data.write): Raise stashed exceptions.
(Data.read): Likewise.
* lang/python/tests/t-callbacks.py: Test new functionality.
* lang/python/tests/t-data.py: Likewise.

Signed-off-by: Justus Winter <justus@gnupg.org>
lang/python/gpgme.i
lang/python/helpers.c
lang/python/helpers.h
lang/python/pyme/core.py
lang/python/tests/t-callbacks.py
lang/python/tests/t-data.py