From 0ddbf27d5c5ccd3251c7c25061b4c3342d47c168 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Espino?= Date: Thu, 20 Jul 2017 13:41:11 +0200 Subject: [PATCH] [Backport] Fix problem with fetch urls from cairoSVG --- taiga/base/utils/thumbnails.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/taiga/base/utils/thumbnails.py b/taiga/base/utils/thumbnails.py index f5d23628..18b4bdd9 100644 --- a/taiga/base/utils/thumbnails.py +++ b/taiga/base/utils/thumbnails.py @@ -33,15 +33,22 @@ from io import BytesIO # SVG thumbnail generator try: from cairosvg.surface import PNGSurface + from cairosvg.url import fetch import magic + def url_fetcher(url, resource_type): + if url.startswith("data:"): + return fetch(url, resource_type) + return b"" + + def svg_image_factory(fp, filename): mime_type = magic.from_buffer(fp.read(1024), mime=True) if mime_type != "image/svg+xml": raise TypeError fp.seek(0) - png_data = PNGSurface.convert(fp.read()) + png_data = PNGSurface.convert(fp.read(), url_fetcher=url_fetcher) return PngImageFile(BytesIO(png_data)) Image.register_mime("SVG", "image/svg+xml")