You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
673 B
33 lines
673 B
"""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
|