comparison env/lib/python3.9/site-packages/pip/_vendor/cachecontrol/_cmd.py @ 0:4f3585e2f14b draft default tip

"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author shellac
date Mon, 22 Mar 2021 18:12:50 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4f3585e2f14b
1 import logging
2
3 from pip._vendor import requests
4
5 from pip._vendor.cachecontrol.adapter import CacheControlAdapter
6 from pip._vendor.cachecontrol.cache import DictCache
7 from pip._vendor.cachecontrol.controller import logger
8
9 from argparse import ArgumentParser
10
11
12 def setup_logging():
13 logger.setLevel(logging.DEBUG)
14 handler = logging.StreamHandler()
15 logger.addHandler(handler)
16
17
18 def get_session():
19 adapter = CacheControlAdapter(
20 DictCache(), cache_etags=True, serializer=None, heuristic=None
21 )
22 sess = requests.Session()
23 sess.mount("http://", adapter)
24 sess.mount("https://", adapter)
25
26 sess.cache_controller = adapter.controller
27 return sess
28
29
30 def get_args():
31 parser = ArgumentParser()
32 parser.add_argument("url", help="The URL to try and cache")
33 return parser.parse_args()
34
35
36 def main(args=None):
37 args = get_args()
38 sess = get_session()
39
40 # Make a request to get a response
41 resp = sess.get(args.url)
42
43 # Turn on logging
44 setup_logging()
45
46 # try setting the cache
47 sess.cache_controller.cache_response(resp.request, resp.raw)
48
49 # Now try to get it
50 if sess.cache_controller.cached_request(resp.request):
51 print("Cached!")
52 else:
53 print("Not cached :(")
54
55
56 if __name__ == "__main__":
57 main()