123456789101112131415161718192021222324252627282930313233343536373839404142 |
- # -*- 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
|