view elpa/elpy-1.25.0/elpy/compat.py @ 182:c3bd84985977

upgrade elpy to 1.25
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Thu, 11 Oct 2018 15:38:33 -0400
parents elpa/elpy-1.18.0/elpy/compat.py@56ea66d76309
children
line wrap: on
line source

"""Python 2/3 compatibility definitions.

These are used by the rest of Elpy to keep compatibility definitions
in one place.

"""

import sys


if sys.version_info >= (3, 0):
    PYTHON3 = True

    from io import StringIO

    def ensure_not_unicode(obj):
        return obj
else:
    PYTHON3 = False

    from StringIO import StringIO  # noqa

    def ensure_not_unicode(obj):
        """Return obj. If it's a unicode string, convert it to str first.

        Pydoc functions simply don't find anything for unicode
        strings. No idea why.

        """
        if isinstance(obj, unicode):
            return obj.encode("utf-8")
        else:
            return obj