Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/pip/_vendor/requests/packages.py: 56%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

18 statements  

1import sys 

2 

3from .compat import chardet 

4 

5# This code exists for backwards compatibility reasons. 

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

7 

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

9 vendored_package = "pip._vendor." + package 

10 locals()[package] = __import__(vendored_package) 

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

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

13 for mod in list(sys.modules): 

14 if mod == vendored_package or mod.startswith(vendored_package + '.'): 

15 unprefixed_mod = mod[len("pip._vendor."):] 

16 sys.modules['pip._vendor.requests.packages.' + unprefixed_mod] = sys.modules[mod] 

17 

18if chardet is not None: 

19 target = chardet.__name__ 

20 for mod in list(sys.modules): 

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

22 imported_mod = sys.modules[mod] 

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

24 mod = mod.replace(target, "chardet") 

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