1234567891011121314151617181920212223 |
- import sys
- from .compat import chardet
- # 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]
- if chardet is not None:
- target = chardet.__name__
- for mod in list(sys.modules):
- if mod == target or mod.startswith(f"{target}."):
- imported_mod = sys.modules[mod]
- sys.modules[f"requests.packages.{mod}"] = imported_mod
- mod = mod.replace(target, "chardet")
- sys.modules[f"requests.packages.{mod}"] = imported_mod
|