summaryrefslogtreecommitdiffstats
path: root/scripts/external_libs/requests/requests/_internal_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/external_libs/requests/requests/_internal_utils.py')
-rw-r--r--scripts/external_libs/requests/requests/_internal_utils.py42
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