@@ -92,6 +92,11 @@ def render(self, context):
9292 kwargs = {k : v .resolve (context ) for k , v in self ._generator_kwargs .items ()}
9393 kwargs ['source' ] = self ._source .resolve (context )
9494 kwargs .update (parse_dimensions (self ._dimensions .resolve (context )))
95+ if kwargs .get ('anchor' ):
96+ # ImageKit uses pickle at protocol 0, which throws infinite
97+ # recursion errors when anchor is set to a SafeString instance.
98+ # This converts the SafeString into a str instance.
99+ kwargs ['anchor' ] = kwargs ['anchor' ][:]
95100 generator = generator_registry .get (generator_id , ** kwargs )
96101
97102 context [variable_name ] = ImageCacheFile (generator )
@@ -114,6 +119,11 @@ def render(self, context):
114119 kwargs = {k : v .resolve (context ) for k , v in self ._generator_kwargs .items ()}
115120 kwargs ['source' ] = self ._source .resolve (context )
116121 kwargs .update (dimensions )
122+ if kwargs .get ('anchor' ):
123+ # ImageKit uses pickle at protocol 0, which throws infinite
124+ # recursion errors when anchor is set to a SafeString instance.
125+ # This converts the SafeString into a str instance.
126+ kwargs ['anchor' ] = kwargs ['anchor' ][:]
117127 generator = generator_registry .get (generator_id , ** kwargs )
118128
119129 file = ImageCacheFile (generator )
0 commit comments