def _save_rename(self, instance, **kwargs): if hasattr(self, '_renaming') and self._renaming: return if self.auto_rename is None: # if we get a SettingNotSet exception (even though we've already # imported/loaded it), that's bad, so let it bubble up; don't try # to guess a default (which should be set in the default config in # the first place.) self.auto_rename = config_value('THUMBNAIL', 'RENAME_IMAGES') image = getattr(instance, self.attname) if image and self.auto_rename: if self.name_field: field = getattr(instance, self.name_field) image = rename_by_field(image.name, '%s-%s-%s' \ % (instance.__class__.__name__, self.name, field ) ) else: # XXX this needs testing, maybe it can generate too long image names (max is 100) image = rename_by_field(image.name, '%s-%s-%s' \ % (instance.__class__.__name__, self.name, instance._get_pk_val() ) ) setattr(instance, self.attname, image) self._renaming = True # Remove current cached thumbnails as a new image will be used self._delete_thumbnail(self, instance, delete_file=False) instance.save() self._renaming = False
def _save_rename(self, instance, **kwargs): if hasattr(self, '_renaming') and self._renaming: return if self.auto_rename == NOTSET: try: self.auto_rename = config_value('THUMBNAIL', 'RENAME_IMAGES') except SettingNotSet: self.auto_rename = False image = getattr(instance, self.attname) if image and self.auto_rename: if self.name_field: field = getattr(instance, self.name_field) image = rename_by_field(image.path, '%s-%s-%s' \ % (instance.__class__.__name__, self.name, field ) ) else: # XXX this needs testing, maybe it can generate too long image names (max is 100) image = rename_by_field(image.path, '%s-%s-%s' \ % (instance.__class__.__name__, self.name, instance._get_pk_val() ) ) setattr(instance, self.attname, image) self._renaming = True instance.save() self._renaming = False