packages.py 875 B

12345678910111213141516171819202122
  1. import sys
  2. import charset_normalizer as chardet
  3. import warnings
  4. warnings.filterwarnings('ignore', 'Trying to detect', module='charset_normalizer')
  5. # This code exists for backwards compatibility reasons.
  6. # I don't like it either. Just look the other way. :)
  7. for package in ('urllib3', 'idna'):
  8. locals()[package] = __import__(package)
  9. # This traversal is apparently necessary such that the identities are
  10. # preserved (requests.packages.urllib3.* is urllib3.*)
  11. for mod in list(sys.modules):
  12. if mod == package or mod.startswith(package + '.'):
  13. sys.modules['requests.packages.' + mod] = sys.modules[mod]
  14. target = chardet.__name__
  15. for mod in list(sys.modules):
  16. if mod == target or mod.startswith(target + '.'):
  17. sys.modules['requests.packages.' + target.replace(target, 'chardet')] = sys.modules[mod]
  18. # Kinda cool, though, right?