Skip to content

Commit

Permalink
Add svg thumbnail generation
Browse files Browse the repository at this point in the history
  • Loading branch information
jespino authored and bameda committed Jan 17, 2017
1 parent d0466c3 commit 0d3adc5
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 2 deletions.
3 changes: 2 additions & 1 deletion CHANGELOG.md
Expand Up @@ -8,11 +8,12 @@
- Ability to create rich text custom fields in Epics, User Stories, Tasks and Isues.
- Full text search now use simple as tokenizer so search with non-english text are allowed.
- Duplicate project: allows creating a new project based on the structure of another (status, tags, colors, default values...)
- Add thumbnails for PSD files.
- Add thumbnails for SVG files (Cario lib is needed).
- i18n:
- Add japanese (ja) translation.
- Add korean (ko) translation.
- Add chinese simplified (zh-Hans) translation.
- Add thumbnails for PSD files.

### Misc
- API:
Expand Down
1 change: 1 addition & 0 deletions requirements.txt
Expand Up @@ -34,3 +34,4 @@ python-dateutil==2.6.0
netaddr==0.7.18
serpy==0.1.1
psd-tools==1.4
CairoSVG==2.0.1
18 changes: 17 additions & 1 deletion taiga/base/utils/thumbnails.py
Expand Up @@ -26,12 +26,28 @@
from easy_thumbnails.files import get_thumbnailer
from easy_thumbnails.exceptions import InvalidImageFormatError
from PIL import Image
from PIL.PngImagePlugin import PngImageFile

from io import BytesIO

# SVG thumbnail generator
try:
from cairosvg.surface import PNGSurface

def svg_image_factory(data, *args):
png_data = PNGSurface.convert(data.read())
return PngImageFile(BytesIO(png_data))

Image.register_mime("SVG", "image/svg+xml")
Image.register_extension("SVG", ".svg")
Image.register_open("SVG", svg_image_factory)
except Exception:
pass

# PSD thumbnail generator
def psd_image_factory(data, *args):
return PSDImage.from_stream(data).as_PIL()


Image.init()
Image.register_open("PSD", psd_image_factory)

Expand Down

0 comments on commit 0d3adc5

Please sign in to comment.