diff --git a/lang/python/gpgme.i b/lang/python/gpgme.i index 610b3d9d..492326b8 100644 --- a/lang/python/gpgme.i +++ b/lang/python/gpgme.i @@ -557,6 +557,11 @@ gpgme_error_t gpgme_op_keylist_start (gpgme_ctx_t ctx, const char *pattern="", int secret_only=0); +/* The whence argument is surprising in Python-land, + because BytesIO or StringIO objects do not require it. + It defaults to SEEK_SET. Let's do that for Data objects, too */ +off_t gpgme_data_seek (gpgme_data_t dh, off_t offset, int whence=SEEK_SET); + /* Include the unmodified for cc, and the cleaned-up local version for SWIG. We do, however, want to hide certain fields on some structs, which we provide prior to including the version for diff --git a/lang/python/tests/t-data.py b/lang/python/tests/t-data.py index 33013193..5cf074c5 100755 --- a/lang/python/tests/t-data.py +++ b/lang/python/tests/t-data.py @@ -51,6 +51,12 @@ data.write(b'Hello world!') data.seek(0, os.SEEK_SET) assert data.read() == b'Hello world!' +data = gpg.Data() +data.write(b'Hello world!') +# We expect the second argument to default to SEEK_SET +data.seek(0) +assert data.read() == b'Hello world!' + binjunk = bytes(range(256)) data = gpg.Data() data.write(binjunk)