diff --git a/imagekit/cachestate/__init__.py b/imagekit/cachestate/__init__.py index 165314a..32d43c6 100644 --- a/imagekit/cachestate/__init__.py +++ b/imagekit/cachestate/__init__.py @@ -16,9 +16,7 @@ class DefaultCacheStateBackend(object): """ if self.is_invalid(file): - content = file.generate() - if content: - file.storage.save(file.name, content) + file.generate(save=True) def invalidate(self, file): file.delete(save=False) diff --git a/imagekit/models.py b/imagekit/models.py index fcc3692..a742719 100755 --- a/imagekit/models.py +++ b/imagekit/models.py @@ -240,7 +240,7 @@ class ImageSpecFile(_ImageSpecFileMixin, ImageFieldFile): def validate(self): return self.field.cache_state_backend.validate(self) - def generate(self): + def generate(self, save=True): """ Generates a new image file by processing the source file and returns the content of the result, ready for saving. @@ -257,6 +257,10 @@ class ImageSpecFile(_ImageSpecFileMixin, ImageFieldFile): fp = StringIO(fp.read()) img, content = self._process_content(self.name, fp) + + if save: + self.storage.save(self.name, content) + return content @property