X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/3c24c1aa82584b7e88898f2e31f4c3a38c43bc5d..ad52b46faff0fc7a02b2fb0c41fed276bce8de0e:/catacomb/pwsafe.py diff --git a/catacomb/pwsafe.py b/catacomb/pwsafe.py index 8fa5ee6..3133d1e 100644 --- a/catacomb/pwsafe.py +++ b/catacomb/pwsafe.py @@ -31,19 +31,28 @@ from __future__ import with_statement import binascii as _B import errno as _E import os as _OS -from cStringIO import StringIO as _StringIO +import sys as _SYS + +if _SYS.version_info >= (3,): from io import StringIO as _StringIO +else: from cStringIO import StringIO as _StringIO import catacomb as _C ###-------------------------------------------------------------------------- ### Python version portability. -def _iterkeys(dict): return dict.iterkeys() -def _itervalues(dict): return dict.itervalues() -def _iteritems(dict): return dict.iteritems() - -def _bin(text): return text -def _text(bin): return bin +if _SYS.version_info >= (3,): + def _iterkeys(dict): return dict.keys() + def _itervalues(dict): return dict.values() + def _iteritems(dict): return dict.items() + def _bin(text): return text.encode(errors = "surrogateescape") + def _text(bin): return bin.decode(errors = "surrogateescape") +else: + def _iterkeys(dict): return dict.iterkeys() + def _itervalues(dict): return dict.itervalues() + def _iteritems(dict): return dict.iteritems() + def _bin(text): return text + def _text(bin): return bin _NUL = _bin('\0') _CIPHER = _bin('cipher:')