X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/a3869542180f9bff989afc5b5f56e0930bc41991..54fd7594ee5df9dbc9745d98adaa01a5ed43b6e4:/catacomb/pwsafe.py diff --git a/catacomb/pwsafe.py b/catacomb/pwsafe.py index 97ad354..944cfa7 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:')