diff options
Diffstat (limited to 'lang/python/pyme')
-rw-r--r-- | lang/python/pyme/core.py | 4 | ||||
-rw-r--r-- | lang/python/pyme/util.py | 12 |
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) |