From c78cbfc089b8e64fd22ea73dbbc61118a953b4dd Mon Sep 17 00:00:00 2001 From: Matthew Tretter Date: Wed, 14 Aug 2013 22:58:36 -0400 Subject: [PATCH] Discover image generators during lookup Fixes GH-241 --- imagekit/registry.py | 5 ++++- imagekit/templatetags/imagekit.py | 12 ------------ 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/imagekit/registry.py b/imagekit/registry.py index f1aba89..685b094 100644 --- a/imagekit/registry.py +++ b/imagekit/registry.py @@ -1,6 +1,6 @@ from .exceptions import AlreadyRegistered, NotRegistered from .signals import content_required, existence_required, source_saved -from .utils import call_strategy_method +from .utils import autodiscover, call_strategy_method class GeneratorRegistry(object): @@ -30,6 +30,8 @@ class GeneratorRegistry(object): ' registered' % id) def get(self, id, **kwargs): + autodiscover() + try: generator = self._generators[id] except KeyError: @@ -41,6 +43,7 @@ class GeneratorRegistry(object): return generator def get_ids(self): + autodiscover() return self._generators.keys() def content_required_receiver(self, sender, file, **kwargs): diff --git a/imagekit/templatetags/imagekit.py b/imagekit/templatetags/imagekit.py index fdf1b14..2df5b4d 100644 --- a/imagekit/templatetags/imagekit.py +++ b/imagekit/templatetags/imagekit.py @@ -43,9 +43,6 @@ class GenerateImageAssignmentNode(template.Node): return unicode(self._variable_name) def render(self, context): - from ..utils import autodiscover - autodiscover() - variable_name = self.get_variable_name(context) context[variable_name] = get_cachefile(context, self._generator_id, self._generator_kwargs) @@ -60,9 +57,6 @@ class GenerateImageTagNode(template.Node): self._html_attrs = html_attrs def render(self, context): - from ..utils import autodiscover - autodiscover() - file = get_cachefile(context, self._generator_id, self._generator_kwargs) attrs = dict((k, v.resolve(context)) for k, v in @@ -92,9 +86,6 @@ class ThumbnailAssignmentNode(template.Node): return unicode(self._variable_name) def render(self, context): - from ..utils import autodiscover - autodiscover() - variable_name = self.get_variable_name(context) generator_id = self._generator_id.resolve(context) if self._generator_id else DEFAULT_THUMBNAIL_GENERATOR @@ -119,9 +110,6 @@ class ThumbnailImageTagNode(template.Node): self._html_attrs = html_attrs def render(self, context): - from ..utils import autodiscover - autodiscover() - generator_id = self._generator_id.resolve(context) if self._generator_id else DEFAULT_THUMBNAIL_GENERATOR dimensions = parse_dimensions(self._dimensions.resolve(context)) kwargs = dict((k, v.resolve(context)) for k, v in