diff --git a/requirements.txt b/requirements.txt index 47ad6c46..46b90b60 100644 --- a/requirements.txt +++ b/requirements.txt @@ -35,3 +35,4 @@ pyjwkest==1.1.5 python-dateutil==2.4.2 netaddr==0.7.18 serpy==0.1.1 +psd-tools==1.4 diff --git a/taiga/base/utils/thumbnails.py b/taiga/base/utils/thumbnails.py index 64ce2d20..e28aff0c 100644 --- a/taiga/base/utils/thumbnails.py +++ b/taiga/base/utils/thumbnails.py @@ -18,12 +18,22 @@ import os +from psd_tools import PSDImage from django.db.models.fields.files import FieldFile from taiga.base.utils.urls import get_absolute_url from easy_thumbnails.files import get_thumbnailer from easy_thumbnails.exceptions import InvalidImageFormatError +from PIL import Image + + +def psd_image_factory(data, *args): + return PSDImage.from_stream(data).as_PIL() + + +Image.init() +Image.register_open("PSD", psd_image_factory) def get_thumbnail_url(file_obj, thumbnailer_size):