Using psd-tools for psd thumbnail

remotes/origin/github-import
Jesús Espino 2017-01-12 18:26:31 +01:00
parent 6a259106be
commit 49d4884e83
2 changed files with 11 additions and 2 deletions

View File

@ -33,3 +33,4 @@ pyjwkest==1.3.2
python-dateutil==2.6.0 python-dateutil==2.6.0
netaddr==0.7.18 netaddr==0.7.18
serpy==0.1.1 serpy==0.1.1
psd-tools==1.4

View File

@ -18,12 +18,22 @@
import os import os
from psd_tools import PSDImage
from django.db.models.fields.files import FieldFile from django.db.models.fields.files import FieldFile
from taiga.base.utils.urls import get_absolute_url from taiga.base.utils.urls import get_absolute_url
from easy_thumbnails.files import get_thumbnailer from easy_thumbnails.files import get_thumbnailer
from easy_thumbnails.exceptions import InvalidImageFormatError 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): def get_thumbnail_url(file_obj, thumbnailer_size):
@ -35,8 +45,6 @@ def get_thumbnail_url(file_obj, thumbnailer_size):
source_extension = os.path.splitext(relative_name)[1][1:] source_extension = os.path.splitext(relative_name)[1][1:]
if source_extension == "tiff": if source_extension == "tiff":
return None return None
if source_extension == "psd":
return None
try: try:
path_url = get_thumbnailer(file_obj)[thumbnailer_size].url path_url = get_thumbnailer(file_obj)[thumbnailer_size].url