summaryrefslogtreecommitdiff
path: root/django/core/cache
diff options
context:
space:
mode:
Diffstat (limited to 'django/core/cache')
-rw-r--r--django/core/cache/backends/filebased.py15
-rw-r--r--django/core/cache/backends/locmem.py19
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)