diff options
| author | Simon Charette <charette.s@gmail.com> | 2018-07-08 19:34:04 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2018-07-09 11:46:03 -0400 |
| commit | 2d75509bcb1db910da3c568f99b6ac778a79a98f (patch) | |
| tree | ca361444d28d458f43f28eba559ae3998d69addf | |
| parent | 5bea8d256dcf98f6346786f8a4804b84fee5da27 (diff) | |
Refs #27480 -- Moved FileBasedCache content writing logic to a method.
| -rw-r--r-- | django/core/cache/backends/filebased.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/django/core/cache/backends/filebased.py b/django/core/cache/backends/filebased.py index 287d6472a5..4ea7bca050 100644 --- a/django/core/cache/backends/filebased.py +++ b/django/core/cache/backends/filebased.py @@ -13,11 +13,6 @@ from django.core.files import locks from django.core.files.move import file_move_safe -def _write_content(f, expiry, value): - f.write(pickle.dumps(expiry, pickle.HIGHEST_PROTOCOL)) - f.write(zlib.compress(pickle.dumps(value, pickle.HIGHEST_PROTOCOL))) - - class FileBasedCache(BaseCache): cache_suffix = '.djcache' @@ -42,6 +37,11 @@ class FileBasedCache(BaseCache): pass return default + def _write_content(self, file, timeout, value): + expiry = self.get_backend_timeout(timeout) + file.write(pickle.dumps(expiry, pickle.HIGHEST_PROTOCOL)) + file.write(zlib.compress(pickle.dumps(value, pickle.HIGHEST_PROTOCOL))) + def set(self, key, value, timeout=DEFAULT_TIMEOUT, version=None): self._createdir() # Cache dir can be deleted at any time. fname = self._key_to_file(key, version) @@ -50,8 +50,7 @@ class FileBasedCache(BaseCache): renamed = False try: with open(fd, 'wb') as f: - expiry = self.get_backend_timeout(timeout) - _write_content(f, expiry, value) + self._write_content(f, timeout, value) file_move_safe(tmp_path, fname, allow_overwrite=True) renamed = True finally: @@ -68,7 +67,7 @@ class FileBasedCache(BaseCache): else: previous_value = pickle.loads(zlib.decompress(f.read())) f.seek(0) - _write_content(f, self.get_backend_timeout(timeout), previous_value) + self._write_content(f, timeout, previous_value) return True finally: locks.unlock(f) |
