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 rest_framework.fields import Field
|
||||||
|
|
||||||
from ..models import SourceImageIOError
|
from ..models import SourceImageIOError
|
||||||
|
from ..utils import to_svg_safe_spec
|
||||||
|
|
||||||
|
|
||||||
class ImageRenditionField(Field):
|
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.filter_spec = filter_spec
|
||||||
|
self.preserve_svg = preserve_svg
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
def to_representation(self, image):
|
def to_representation(self, image):
|
||||||
try:
|
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(
|
return OrderedDict(
|
||||||
[
|
[
|
||||||
|
|
|
||||||
Ładowanie…
Reference in New Issue