diff options
Diffstat (limited to 'scripts/external_libs/requests/requests/_internal_utils.py')
-rw-r--r-- | scripts/external_libs/requests/requests/_internal_utils.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/scripts/external_libs/requests/requests/_internal_utils.py b/scripts/external_libs/requests/requests/_internal_utils.py new file mode 100644 index 00000000..759d9a56 --- /dev/null +++ b/scripts/external_libs/requests/requests/_internal_utils.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- + +""" +requests._internal_utils +~~~~~~~~~~~~~~ + +Provides utility functions that are consumed internally by Requests +which depend on extremely few external helpers (such as compat) +""" + +from .compat import is_py2, builtin_str, str + + +def to_native_string(string, encoding='ascii'): + """Given a string object, regardless of type, returns a representation of + that string in the native string type, encoding and decoding where + necessary. This assumes ASCII unless told otherwise. + """ + if isinstance(string, builtin_str): + out = string + else: + if is_py2: + out = string.encode(encoding) + else: + out = string.decode(encoding) + + return out + + +def unicode_is_ascii(u_string): + """Determine if unicode string only contains ASCII characters. + + :param str u_string: unicode string to check. Must be unicode + and not Python 2 `str`. + :rtype: bool + """ + assert isinstance(u_string, str) + try: + u_string.encode('ascii') + return True + except UnicodeEncodeError: + return False |