summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Mueller <muelli@cryptobitch.de>2017-08-22 17:48:25 +0200
committerWerner Koch <wk@gnupg.org>2017-12-04 08:10:06 +0100
commit3cf9aedc92b6c65d2cb34037e52b9a299637d03b (patch)
tree74d13983b0093fc224af01cadadbf6749bfb0938
parent2205ee2cd92233506ab5a54111160cd8d62ae411 (diff)
downloadgpgme-3cf9aedc92b6c65d2cb34037e52b9a299637d03b.tar.gz
python: Default whence argument for Data() to SEEK_SET.
* lang/python/gpgme.i: copied signature from gpgme.h and defaulted the value to SEEK_SET. * lang/python/tests/t-data.py: Added a test for no second argument -- Having to import the os package when wanting to read a Data object is a slight annoyance. With SWIG, we can define default parameters. This change defaults the whence argument to SEEK_SET which is how StringIO and BytesIO behave. Signed-off-by: Tobias Mueller <muelli@cryptobitch.de>
-rw-r--r--lang/python/gpgme.i5
-rwxr-xr-xlang/python/tests/t-data.py6
2 files changed, 11 insertions, 0 deletions
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 <gpgme.h> 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)