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) | 
