aboutsummaryrefslogtreecommitdiffstats
path: root/lang/python/pyme
diff options
context:
space:
mode:
Diffstat (limited to 'lang/python/pyme')
-rw-r--r--lang/python/pyme/core.py4
-rw-r--r--lang/python/pyme/util.py12
2 files changed, 14 insertions, 2 deletions
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)
diff --git a/lang/python/pyme/util.py b/lang/python/pyme/util.py
index c4c9e180..bf25ccb0 100644
--- a/lang/python/pyme/util.py
+++ b/lang/python/pyme/util.py
@@ -16,6 +16,8 @@
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+import sys
+
def process_constants(prefix, scope):
"""Called by the constant modules to load up the constants from the C
library starting with PREFIX. Matching constants will be inserted
@@ -36,3 +38,13 @@ def percent_escape(s):
'%{0:2x}'.format(ord(c))
if c == '+' or c == '"' or c == '%' or ord(c) <= 0x20 else c
for c in s)
+
+# Python2/3 compatibility
+if sys.version_info[0] == 3:
+ # Python3
+ def is_a_string(x):
+ return isinstance(x, str)
+else:
+ # Python2
+ def is_a_string(x):
+ return isinstance(x, basestring)