diff options
author | Jordan Cook <jordan.cook@pioneer.com> | 2021-04-21 21:12:46 -0500 |
---|---|---|
committer | Jordan Cook <jordan.cook@pioneer.com> | 2021-04-21 21:12:46 -0500 |
commit | 40dc1e79d1c75d0007fe74becf75a1dc3e84d6b9 (patch) | |
tree | 8b1a87e0c78e1725a827463864cf74988e323d94 | |
parent | 38ddcf5425eadc6b174a8b053b2175c4dda00a1f (diff) | |
download | requests-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.py | 11 | ||||
-rw-r--r-- | requests_cache/backends/sqlite.py | 3 |
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 |