From 016d33712e7f71ca39a3292da74ad1764a3d5a36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Mon, 11 Feb 2019 16:03:29 +0100 Subject: [PATCH] assets: don't use get_thumbnail on SVG files (#30533) --- combo/apps/assets/templatetags/assets.py | 2 +- tests/test_public_templatetags.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/combo/apps/assets/templatetags/assets.py b/combo/apps/assets/templatetags/assets.py index da0e81a3..84cde3c2 100644 --- a/combo/apps/assets/templatetags/assets.py +++ b/combo/apps/assets/templatetags/assets.py @@ -52,7 +52,7 @@ def asset_url(*args, **kwargs): return '' geometry_string = kwargs.pop('size', None) - if not geometry_string: + if not geometry_string or asset.file.name.endswith('svg'): return asset.url return get_thumbnail(asset, geometry_string, **kwargs).url diff --git a/tests/test_public_templatetags.py b/tests/test_public_templatetags.py index bb25a180..70cacef8 100644 --- a/tests/test_public_templatetags.py +++ b/tests/test_public_templatetags.py @@ -163,3 +163,9 @@ def test_asset_template_tags(): # pass image to sorl.thumbnail t = Template('''{% load assets %}{% asset_url page.picture "collectivity:banner" size="200x200" %}''') assert t.render(Context()).startswith('/media/cache/') + + # unless it's in SVG + page.picture = File(StringIO('test'), 'test2.svg') + page.save() + t = Template('''{% load assets %}{% asset_url page.picture "collectivity:banner" size="200x200" %}''') + assert t.render(Context({'page': page})) == '/media/page-pictures/test2.svg'