def render(self, name, value, attrs=None): if value is None: value = '' final_attrs = self.build_attrs(attrs, name=name) if value != '': # Only add the 'value' attribute if a value is non-empty. final_attrs['value'] = value buttons = {} initials = [] for name, filter in FILTER_CLASSES.items(): button = filter.render_button(attrs=final_attrs, filter_name=name) if button: buttons[name] = button initials.append( filter.render_initial(attrs=final_attrs, filter_name=name)) final_attrs.update({ 'STATIC_URL': getattr(settings, 'STATIC_URL', settings.MEDIA_URL), 'buttons': buttons, 'initials': initials }) return render_to_string('image_editor/image_editor_widget.html', final_attrs)
def _get_media(self): media = Media(css={'all': ('image_editor/css/image_editor.css', )}, js=('image_editor/js/image_editor.js', 'image_editor/js/jquery.json.js')) for n, f in FILTER_CLASSES.items(): media = media + f.media return media
def _get_media(self): media = Media( css={ 'all': ('image_editor/css/image_editor.css', ) }, js = ('image_editor/js/image_editor.js', 'image_editor/js/jquery.json.js') ) for n, f in FILTER_CLASSES.items(): media = media + f.media return media
def render(self, name, value, attrs=None): if value is None: value = '' final_attrs = self.build_attrs(attrs, name=name) if value != '': # Only add the 'value' attribute if a value is non-empty. final_attrs['value'] = value buttons = {} initials = [] for name, filter in FILTER_CLASSES.items(): button = filter.render_button(attrs=final_attrs, filter_name=name) if button: buttons[name] = button initials.append(filter.render_initial(attrs=final_attrs, filter_name=name)) final_attrs.update({ 'STATIC_URL': getattr(settings, 'STATIC_URL', settings.MEDIA_URL), 'buttons': buttons, 'initials': initials }) return render_to_string('image_editor/image_editor_widget.html', final_attrs)
def apply_filters_to_image(image_name, operations): if not storage.exists(image_name): raise Exception('Image "%s" does not exist' % image_name) file = storage.open(image_name) file.seek(0) image = Image.open(StringIO(file.read())) if type(operations) != list: raise Exception('Wrong params received') for operation in operations: filter = FILTER_CLASSES.get(operation['name'], None) if not isinstance(filter, ImageEditToolBasic): raise Exception('Image filter with name "%s" is not found' % operation['name']) image = filter.proceed_image(image, operation.get('params', None)) tmp = tempfile.NamedTemporaryFile() image.save(tmp.name, 'JPEG') tmp.seek(0, 0) return File(tmp)