diff options
Diffstat (limited to 'django/core/cache')
| -rw-r--r-- | django/core/cache/backends/filebased.py | 15 | ||||
| -rw-r--r-- | django/core/cache/backends/locmem.py | 19 |
2 files changed, 23 insertions, 11 deletions
diff --git a/django/core/cache/backends/filebased.py b/django/core/cache/backends/filebased.py index deceffaa0d..dccc3fdc65 100644 --- a/django/core/cache/backends/filebased.py +++ b/django/core/cache/backends/filebased.py @@ -7,7 +7,6 @@ import random import tempfile import time import zlib -from contextlib import suppress from django.core.cache.backends.base import DEFAULT_TIMEOUT, BaseCache from django.core.files.move import file_move_safe @@ -30,10 +29,12 @@ class FileBasedCache(BaseCache): def get(self, key, default=None, version=None): fname = self._key_to_file(key, version) - with suppress(FileNotFoundError): + try: with open(fname, 'rb') as f: if not self._is_expired(f): return pickle.loads(zlib.decompress(f.read())) + except FileNotFoundError: + pass return default def set(self, key, value, timeout=DEFAULT_TIMEOUT, version=None): @@ -59,9 +60,11 @@ class FileBasedCache(BaseCache): def _delete(self, fname): if not fname.startswith(self._dir) or not os.path.exists(fname): return - with suppress(FileNotFoundError): - # The file may have been removed by another process. + try: os.remove(fname) + except FileNotFoundError: + # The file may have been removed by another process. + pass def has_key(self, key, version=None): fname = self._key_to_file(key, version) @@ -90,8 +93,10 @@ class FileBasedCache(BaseCache): def _createdir(self): if not os.path.exists(self._dir): - with suppress(FileExistsError): + try: os.makedirs(self._dir, 0o700) + except FileExistsError: + pass def _key_to_file(self, key, version=None): """ diff --git a/django/core/cache/backends/locmem.py b/django/core/cache/backends/locmem.py index 20b6dd4212..b2600d3169 100644 --- a/django/core/cache/backends/locmem.py +++ b/django/core/cache/backends/locmem.py @@ -1,7 +1,7 @@ "Thread-safe in-memory cache backend." import pickle import time -from contextlib import contextmanager, suppress +from contextlib import contextmanager from django.core.cache.backends.base import DEFAULT_TIMEOUT, BaseCache from django.utils.synch import RWLock @@ -50,9 +50,11 @@ class LocMemCache(BaseCache): return default with (self._lock.writer() if acquire_lock else dummy()): - with suppress(KeyError): + try: del self._cache[key] del self._expire_info[key] + except KeyError: + pass return default def _set(self, key, value, timeout=DEFAULT_TIMEOUT): @@ -87,9 +89,11 @@ class LocMemCache(BaseCache): return True with self._lock.writer(): - with suppress(KeyError): + try: del self._cache[key] del self._expire_info[key] + except KeyError: + pass return False def _has_expired(self, key): @@ -107,11 +111,14 @@ class LocMemCache(BaseCache): self._delete(k) def _delete(self, key): - with suppress(KeyError): + try: del self._cache[key] - - with suppress(KeyError): + except KeyError: + pass + try: del self._expire_info[key] + except KeyError: + pass def delete(self, key, version=None): key = self.make_key(key, version=version) |
