diff --git a/imagekit/options.py b/imagekit/options.py index 7170799..f3d3820 100644 --- a/imagekit/options.py +++ b/imagekit/options.py @@ -14,7 +14,7 @@ class Options(object): cache_dir = 'cache' save_count_as = None cache_filename_fields = ['pk', ] - cache_filename_format = "%(filename)s_%(specname)s.%(extension)s" + cache_filename_format = "%(filename)s_%(specname)s_%(original_extension)s.%(extension)s" admin_thumbnail_spec = 'admin_thumbnail' spec_module = 'imagekit.defaults' specs = None diff --git a/imagekit/specs.py b/imagekit/specs.py index 0332187..49005a9 100644 --- a/imagekit/specs.py +++ b/imagekit/specs.py @@ -82,11 +82,13 @@ class Accessor(object): if self._obj._imgfield.name: filepath, basename = os.path.split(self._obj._imgfield.name) filename, extension = os.path.splitext(basename) + original_extension = extension for processor in self.spec.processors: if issubclass(processor, processors.Format): extension = processor.extension filename_format_dict = {'filename': filename, 'specname': self.spec.name(), + 'original_extension': original_extension, 'extension': extension.lstrip('.')} cache_filename_fields = self._obj._ik.cache_filename_fields filename_format_dict.update(dict(zip(