kopia lustrzana https://github.com/wagtail/wagtail
				
				
				
			Add preserve_svg option to api ImageRenditionField
							rodzic
							
								
									34691bdd3a
								
							
						
					
					
						commit
						b30bfa993f
					
				| 
						 | 
				
			
			@ -3,6 +3,7 @@ from collections import OrderedDict
 | 
			
		|||
from rest_framework.fields import Field
 | 
			
		||||
 | 
			
		||||
from ..models import SourceImageIOError
 | 
			
		||||
from ..utils import to_svg_safe_spec
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ImageRenditionField(Field):
 | 
			
		||||
| 
						 | 
				
			
			@ -27,13 +28,19 @@ class ImageRenditionField(Field):
 | 
			
		|||
    }
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    def __init__(self, filter_spec, *args, **kwargs):
 | 
			
		||||
    def __init__(self, filter_spec, preserve_svg=False, *args, **kwargs):
 | 
			
		||||
        self.filter_spec = filter_spec
 | 
			
		||||
        self.preserve_svg = preserve_svg
 | 
			
		||||
        super().__init__(*args, **kwargs)
 | 
			
		||||
 | 
			
		||||
    def to_representation(self, image):
 | 
			
		||||
        try:
 | 
			
		||||
            thumbnail = image.get_rendition(self.filter_spec)
 | 
			
		||||
            if image.is_svg() and self.preserve_svg:
 | 
			
		||||
                filter_spec = to_svg_safe_spec(self.filter_spec)
 | 
			
		||||
            else:
 | 
			
		||||
                filter_spec = self.filter_spec
 | 
			
		||||
 | 
			
		||||
            thumbnail = image.get_rendition(filter_spec)
 | 
			
		||||
 | 
			
		||||
            return OrderedDict(
 | 
			
		||||
                [
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue