Commits

Philipp Bosch committed 9876b34

Try to use easy_thumbnails for ImageWidget thumbnails before falling back to full-size images.

Comments (0)

Files changed (1)

form_utils/widgets.py

         t = DjangoThumbnail(relative_source=image_path, requested_size=(width,height))
         return u'<img src="%s" alt="%s" />' % (t.absolute_url, image_path)
 except ImportError:
-    def thumbnail(image_path, width, height):
-        absolute_url = posixpath.join(settings.MEDIA_URL, image_path)
-        return u'<img src="%s" alt="%s" />' % (absolute_url, image_path)
+    try:
+        from easy_thumbnails.files import get_thumbnailer
+        def thumbnail(image_path, width, height):
+            thumbnail_options = dict(size=(width, height), crop=True)
+            thumbnail = get_thumbnailer(image_path).get_thumbnail(thumbnail_options)
+            return u'<img src="%s" alt="%s" />' % (thumbnail.url, image_path)
+    except ImportError:
+        def thumbnail(image_path, width, height):
+            absolute_url = posixpath.join(settings.MEDIA_URL, image_path)
+            return u'<img src="%s" alt="%s" />' % (absolute_url, image_path)
 
 class ImageWidget(forms.FileInput):
     template = '%(input)s<br />%(image)s'
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.