Mercurial > repos > shellac > sam_consensus_v3
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() |