From 70a3be27a509a1b5ea7372bee93d83c5019427ff Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Tue, 13 Sep 2016 10:44:14 +0200 Subject: python: Handle slight differences between Python 2 and 3. * lang/python/helpers.c (pyDataWriteCb): Handle Python integers being returned on Python 2. (pyDataSeekCb): Likewise. * lang/python/pyme/core.py (Data.__init__): Fix testing for string argument. (Data.new_from_filepart): Likewise. * lang/python/pyme/util.py (is_a_string): New function. * lang/python/tests/t-encrypt-large.py (read_cb): Force evaluation of generator. * lang/python/tests/t-idiomatic.py: Partly skip test on Python 2. * lang/python/tests/t-verify.py (check_result): Here, the difference between 2 and 3 really matters. We cannot change the char * conversion in Python 2 without breaking all existing applications, and using bytestrings in Python 3 would be very inconvenient. Signed-off-by: Justus Winter --- lang/python/pyme/core.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lang/python/pyme/core.py') diff --git a/lang/python/pyme/core.py b/lang/python/pyme/core.py index 4bbbc170..a71426b9 100644 --- a/lang/python/pyme/core.py +++ b/lang/python/pyme/core.py @@ -884,7 +884,7 @@ class Data(GpgmeWrapper): elif file != None and offset != None and length != None: self.new_from_filepart(file, offset, length) elif file != None: - if type(file) == type("x"): + if util.is_a_string(file): self.new_from_file(file, copy) else: self.new_from_fd(file) @@ -961,7 +961,7 @@ class Data(GpgmeWrapper): filename = None fp = None - if type(file) == type("x"): + if util.is_a_string(file): filename = file else: fp = gpgme.fdopen(file.fileno(), file.mode) -- cgit v1.2.3