Skip to content

Commit 0e48627

Browse files
authored
Merge pull request #580 from kviktor/better-log-groupping
Better log message grouping
2 parents 936519e + 4f1926b commit 0e48627

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

imagekit/cachefiles/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,11 @@ def _generate(self):
126126
' because a file already existed with the requested name. If'
127127
' so, you may have meant to call generate() instead of'
128128
' generate(force=True), or there may be a race condition in the'
129-
' file backend %s. The saved file will not be used.' % (
130-
self.storage,
131-
self.name, actual_name,
132-
self.cachefile_backend
133-
)
129+
' file backend %s. The saved file will not be used.',
130+
self.storage,
131+
self.name,
132+
actual_name,
133+
self.cachefile_backend
134134
)
135135

136136
def __bool__(self):

tests/test_cachefiles.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from hashlib import md5
22
from unittest import mock
3+
import os
34

45
import pytest
56
from django.conf import settings
@@ -114,3 +115,20 @@ def test_lazyfile_stringification():
114115
file.name = 'a.jpg'
115116
assert str(file) == 'a.jpg'
116117
assert repr(file) == '<ImageCacheFile: a.jpg>'
118+
119+
120+
def test_generate_file_already_exists(caplog):
121+
spec = TestSpec(source=get_unique_image_file())
122+
file_1 = ImageCacheFile(spec)
123+
file_1._generate()
124+
# generate another cache image with the same name
125+
file_2 = ImageCacheFile(spec, name=file_1.name)
126+
file_2._generate()
127+
128+
assert len(caplog.records) == 1
129+
storage, name, actual_name, cachefile_backend = caplog.records[0].args
130+
assert storage == file_2.storage
131+
assert name == file_2.name
132+
assert actual_name != name
133+
assert os.path.basename(actual_name) in storage.listdir(os.path.dirname(actual_name))[1]
134+
assert cachefile_backend == file_2.cachefile_backend

0 commit comments

Comments
 (0)