+from __future__ import unicode_literals
+
import getpass
import os
import subprocess
if sys.version_info < (3, 0) and sys.platform == 'win32':
def compat_getpass(prompt, *args, **kwargs):
if isinstance(prompt, compat_str):
+ from .utils import preferredencoding
prompt = prompt.encode(preferredencoding())
return getpass.getpass(prompt, *args, **kwargs)
else:
compat_getpass = getpass.getpass
+# Old 2.6 and 2.7 releases require kwargs to be bytes
+try:
+ (lambda x: x)(**{'x': 0})
+except TypeError:
+ def compat_kwargs(kwargs):
+ return dict((bytes(k), v) for k, v in kwargs.items())
+else:
+ compat_kwargs = lambda kwargs: kwargs
__all__ = [
'compat_HTTPError',
'compat_html_entities',
'compat_html_parser',
'compat_http_client',
+ 'compat_kwargs',
'compat_ord',
'compat_parse_qs',
'compat_print',