summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Cook <jordan.cook@pioneer.com>2021-04-21 21:12:46 -0500
committerJordan Cook <jordan.cook@pioneer.com>2021-04-21 21:12:46 -0500
commit40dc1e79d1c75d0007fe74becf75a1dc3e84d6b9 (patch)
tree8b1a87e0c78e1725a827463864cf74988e323d94
parent38ddcf5425eadc6b174a8b053b2175c4dda00a1f (diff)
downloadrequests-cache-40dc1e79d1c75d0007fe74becf75a1dc3e84d6b9.tar.gz
For SQLite and filesystem backends, resolve file paths in BaseStorage class rather than BaseCache class
-rw-r--r--requests_cache/backends/filesystem.py11
-rw-r--r--requests_cache/backends/sqlite.py3
2 files changed, 6 insertions, 8 deletions
diff --git a/requests_cache/backends/filesystem.py b/requests_cache/backends/filesystem.py
index c85751f..b7f3e6a 100644
--- a/requests_cache/backends/filesystem.py
+++ b/requests_cache/backends/filesystem.py
@@ -24,18 +24,17 @@ class FileCache(BaseCache):
def __init__(self, cache_name: Union[Path, str] = 'http_cache', use_temp: bool = False, **kwargs):
super().__init__(**kwargs)
- cache_dir = _get_cache_dir(cache_name, use_temp)
- self.responses = FileDict(cache_dir, **kwargs)
- self.redirects = DbDict(join(cache_dir, 'redirects.sqlite'), 'redirects', **kwargs)
+ self.responses = FileDict(cache_name, use_temp=use_temp, **kwargs)
+ self.redirects = DbDict(join(self.responses.cache_dir, 'redirects.sqlite'), 'redirects', **kwargs)
class FileDict(BaseStorage):
"""A dictionary-like interface to files on the local filesystem"""
- def __init__(self, cache_dir, **kwargs):
+ def __init__(self, cache_name, use_temp: bool = False, **kwargs):
kwargs.setdefault('suppress_warnings', True)
super().__init__(**kwargs)
- self.cache_dir = cache_dir
+ self.cache_dir = _get_cache_dir(cache_name, use_temp)
makedirs(self.cache_dir, exist_ok=True)
@contextmanager
@@ -70,7 +69,7 @@ class FileDict(BaseStorage):
def clear(self):
with self._try_io(ignore_errors=True):
- rmtree(self.cache_dir)
+ rmtree(self.cache_dir, ignore_errors=True)
makedirs(self.cache_dir)
def paths(self):
diff --git a/requests_cache/backends/sqlite.py b/requests_cache/backends/sqlite.py
index 470d00c..face65e 100644
--- a/requests_cache/backends/sqlite.py
+++ b/requests_cache/backends/sqlite.py
@@ -25,7 +25,6 @@ class DbCache(BaseCache):
def __init__(self, db_path: Union[Path, str] = 'http_cache', fast_save: bool = False, **kwargs):
super().__init__(**kwargs)
- db_path = _get_db_path(db_path)
self.responses = DbPickleDict(db_path, table_name='responses', fast_save=fast_save, **kwargs)
self.redirects = DbDict(db_path, table_name='redirects', **kwargs)
@@ -60,7 +59,7 @@ class DbDict(BaseStorage):
kwargs.setdefault('suppress_warnings', True)
super().__init__(**kwargs)
self.connection_kwargs = get_valid_kwargs(sqlite_template, kwargs)
- self.db_path = db_path
+ self.db_path = _get_db_path(db_path)
self.fast_save = fast_save
self.table_name = table_name