Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/requests/packages.py: 100%

17 statements  

« prev     ^ index     » next       coverage.py v7.3.2, created at 2023-12-08 06:40 +0000

1import sys 

2 

3try: 

4 import chardet 

5except ImportError: 

6 import warnings 

7 

8 import charset_normalizer as chardet 

9 

10 warnings.filterwarnings("ignore", "Trying to detect", module="charset_normalizer") 

11 

12# This code exists for backwards compatibility reasons. 

13# I don't like it either. Just look the other way. :) 

14 

15for package in ("urllib3", "idna"): 

16 locals()[package] = __import__(package) 

17 # This traversal is apparently necessary such that the identities are 

18 # preserved (requests.packages.urllib3.* is urllib3.*) 

19 for mod in list(sys.modules): 

20 if mod == package or mod.startswith(f"{package}."): 

21 sys.modules[f"requests.packages.{mod}"] = sys.modules[mod] 

22 

23target = chardet.__name__ 

24for mod in list(sys.modules): 

25 if mod == target or mod.startswith(f"{target}."): 

26 target = target.replace(target, "chardet") 

27 sys.modules[f"requests.packages.{target}"] = sys.modules[mod] 

28# Kinda cool, though, right?