From 8e6abc1e6578d467ad0391ef89570c3801ac8252 Mon Sep 17 00:00:00 2001 From: Matthew Tretter Date: Thu, 31 Jan 2013 04:20:21 -0500 Subject: [PATCH] Remove ensure_exists `generate()` now plays double duty --- imagekit/files.py | 9 ++++++--- imagekit/generators/actions.py | 10 +++++----- imagekit/generators/filebackends.py | 2 +- imagekit/generators/strategies.py | 6 +++--- imagekit/management/commands/generateimages.py | 2 +- 5 files changed, 16 insertions(+), 13 deletions(-) diff --git a/imagekit/files.py b/imagekit/files.py index 9b07659..441d2cb 100644 --- a/imagekit/files.py +++ b/imagekit/files.py @@ -105,10 +105,13 @@ class GeneratedImageFile(BaseIKFile, ImageFile): before_access.send(sender=self, file=self) return super(GeneratedImageFile, self)._require_file() - def ensure_exists(self): - return self.generatedfile_backend.ensure_exists(self) + def generate(self, force=False): + if force: + self._generate() + else: + self.generatedfile_backend.ensure_exists(self) - def generate(self): + def _generate(self): # Generate the file content = generate(self.generator) diff --git a/imagekit/generators/actions.py b/imagekit/generators/actions.py index dc56576..634bcbe 100644 --- a/imagekit/generators/actions.py +++ b/imagekit/generators/actions.py @@ -1,5 +1,5 @@ -def ensure_exists(file): - file.ensure_exists() +def generate(file): + file.generate() try: @@ -7,15 +7,15 @@ try: except ImportError: pass else: - ensure_exists_task = task(ensure_exists) + generate_task = task(generate) -def ensure_exists_deferred(file): +def generate_deferred(file): try: import celery # NOQA except: raise ImportError("Deferred validation requires the the 'celery' library") - ensure_exists_task.delay(file) + generate_task.delay(file) def clear_now(file): diff --git a/imagekit/generators/filebackends.py b/imagekit/generators/filebackends.py index b80aa8e..ed375c1 100644 --- a/imagekit/generators/filebackends.py +++ b/imagekit/generators/filebackends.py @@ -61,4 +61,4 @@ class Simple(CachedFileBackend): Generates a new image by running the processors on the source file. """ - file.generate() + file.generate(force=True) diff --git a/imagekit/generators/strategies.py b/imagekit/generators/strategies.py index 7def2a6..b1c6f56 100644 --- a/imagekit/generators/strategies.py +++ b/imagekit/generators/strategies.py @@ -9,7 +9,7 @@ class JustInTime(object): """ def before_access(self, file): - file.ensure_exists() + file.generate() class Optimistic(object): @@ -21,13 +21,13 @@ class Optimistic(object): """ def on_source_created(self, file): - file.ensure_exists() + file.generate() def on_source_deleted(self, file): file.delete() def on_source_changed(self, file): - file.ensure_exists() + file.generate() class DictStrategy(object): diff --git a/imagekit/management/commands/generateimages.py b/imagekit/management/commands/generateimages.py index d25426e..569761f 100644 --- a/imagekit/management/commands/generateimages.py +++ b/imagekit/management/commands/generateimages.py @@ -26,7 +26,7 @@ well as "a:b" and "a:b:c".""") self.stdout.write(' %s\n' % file) try: # TODO: Allow other validation actions through command option - file.ensure_exists() + file.generate() except Exception, err: # TODO: How should we handle failures? Don't want to error, but should call it out more than this. self.stdout.write(' FAILED: %s\n' % err)