diff options
| author | Jordan Cook <jordan.cook@pioneer.com> | 2021-03-22 18:38:10 -0500 |
|---|---|---|
| committer | Jordan Cook <jordan.cook@pioneer.com> | 2021-03-24 12:53:58 -0500 |
| commit | c3ffa61e033104d3dfb2de56911feb88334f51de (patch) | |
| tree | 92ed2dbb8cf47da61a3fddaad27cb9651a52850e /requests_cache/backends/base.py | |
| parent | 45787e8ebbc916147ef227d0e54831800ad9861f (diff) | |
| download | requests-cache-c3ffa61e033104d3dfb2de56911feb88334f51de.tar.gz | |
Add a 'urls' property on BaseCache to get all cached URLs
Closes #155
Diffstat (limited to 'requests_cache/backends/base.py')
| -rw-r--r-- | requests_cache/backends/base.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/requests_cache/backends/base.py b/requests_cache/backends/base.py index 5698c4a..1247b31 100644 --- a/requests_cache/backends/base.py +++ b/requests_cache/backends/base.py @@ -8,6 +8,7 @@ import hashlib import json from pickle import PickleError +from typing import List from urllib.parse import parse_qsl, urlencode, urlparse, urlunparse import requests @@ -32,6 +33,13 @@ class BaseCache(object): self._include_get_headers = kwargs.get("include_get_headers", False) self._ignored_parameters = set(kwargs.get("ignored_parameters") or []) + @property + def urls(self) -> List[str]: + """Get all URLs currently in the cache""" + response_urls = [response.url for response in self.responses.values()] + redirect_urls = list(self.keys_map.keys()) + return sorted(response_urls + redirect_urls) + def save_response(self, key: str, response: AnyResponse, expire_after: ExpirationTime = None): """Save response to cache |
