From c825406bc76342bb96af3790f81324ae803a0522 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Sat, 17 Oct 2015 14:29:54 +0200 Subject: [PATCH] forms: display a thumbnail of uploaded images in validation page (#8675) --- wcs/forms/root.py | 15 ++++++++++++++- wcs/qommon/form.py | 5 ++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/wcs/forms/root.py b/wcs/forms/root.py index 9c3dd1e..fbc04ab 100644 --- a/wcs/forms/root.py +++ b/wcs/forms/root.py @@ -21,6 +21,11 @@ import sys import urllib2 try: + from PIL import Image +except ImportError: + Image = None + +try: import qrcode except ImportError: qrcode = None @@ -908,7 +913,15 @@ class FormPage(Directory): if tempfile['charset']: response.set_charset(tempfile['charset']) - return get_session().get_tempfile_content(t).get_file_pointer().read() + file_pointer = get_session().get_tempfile_content(t).get_file_pointer() + if Image is not None and get_request().form.get('thumbnail') == '1': + image = Image.open(file_pointer) + image.thumbnail((500, 300)) + image_thumb_fp = StringIO() + image.save(image_thumb_fp, "PNG") + return image_thumb_fp.getvalue() + else: + return file_pointer.read() def validating(self, data): self.html_top(self.formdef.name) diff --git a/wcs/qommon/form.py b/wcs/qommon/form.py index 014007e..8315c9b 100644 --- a/wcs/qommon/form.py +++ b/wcs/qommon/form.py @@ -582,9 +582,8 @@ class FileWithPreviewWidget(CompositeWidget): elif temp: filetype = mimetypes.guess_type(temp.get('orig_filename', '')) if filetype and filetype[0] and filetype[0].startswith('image'): - r += htmltext('%s' % \ - (temp.get('orig_filename', ''), - self.get('token'))) + r += htmltext('' % \ + self.get('token')) r += htmltext('') return r.getvalue() -- 2.6.1