Merge pull request #917 from taigaio/use-psd-tools-for-psd-resize
Using psd-tools for psd thumbnailremotes/origin/github-import
commit
e12e210d2b
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue