summaryrefslogtreecommitdiff
path: root/lib/python3.11/site-packages/requests/packages.py
diff options
context:
space:
mode:
authorlittleblack111 <jerrylam110209@gmail.com>2023-08-15 22:43:44 +0800
committerlittleblack111 <jerrylam110209@gmail.com>2023-08-15 22:43:44 +0800
commit770042d3e7ef8ed49a353ba7e481c25cbaab793a (patch)
tree3f4f0bf4ba9739f57636c3e7a92d34c5b352c67b /lib/python3.11/site-packages/requests/packages.py
parent291a5cbf3bef71418b9260e7336ea3714af0629b (diff)
updated
Diffstat (limited to 'lib/python3.11/site-packages/requests/packages.py')
-rw-r--r--lib/python3.11/site-packages/requests/packages.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/python3.11/site-packages/requests/packages.py b/lib/python3.11/site-packages/requests/packages.py
new file mode 100644
index 0000000..77c45c9
--- /dev/null
+++ b/lib/python3.11/site-packages/requests/packages.py
@@ -0,0 +1,28 @@
+import sys
+
+try:
+ import chardet
+except ImportError:
+ import warnings
+
+ import charset_normalizer as chardet
+
+ warnings.filterwarnings("ignore", "Trying to detect", module="charset_normalizer")
+
+# This code exists for backwards compatibility reasons.
+# I don't like it either. Just look the other way. :)
+
+for package in ("urllib3", "idna"):
+ locals()[package] = __import__(package)
+ # This traversal is apparently necessary such that the identities are
+ # preserved (requests.packages.urllib3.* is urllib3.*)
+ for mod in list(sys.modules):
+ if mod == package or mod.startswith(f"{package}."):
+ sys.modules[f"requests.packages.{mod}"] = sys.modules[mod]
+
+target = chardet.__name__
+for mod in list(sys.modules):
+ if mod == target or mod.startswith(f"{target}."):
+ target = target.replace(target, "chardet")
+ sys.modules[f"requests.packages.{target}"] = sys.modules[mod]
+# Kinda cool, though, right?