[Erp5-report] r28369 - /erp5/trunk/products/ERP5/Document/Image.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Aug 13 17:31:05 CEST 2009
Author: kazuhiko
Date: Thu Aug 13 17:31:05 2009
New Revision: 28369
URL: http://svn.erp5.org?rev=28369&view=rev
Log:
no need to call hasConversion() before getConversion() because it does mostly the same thing and waste of time. use try ... except KeyError instead.
_makeDisplayPhoto returns converted data to make it possible to use it immediately.
Modified:
erp5/trunk/products/ERP5/Document/Image.py
Modified: erp5/trunk/products/ERP5/Document/Image.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/Image.py?rev=28369&r1=28368&r2=28369&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/Image.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/Image.py [utf8] Thu Aug 13 17:31:05 2009
@@ -204,16 +204,15 @@
image_size = self.getSizeFromImageDisplay(display)
if (display is not None or resolution is not None or quality!=75 or format != ''\
or frame is not None) and image_size:
- if not self.hasConversion(display=display, format=format,
- quality=quality, resolution=resolution,
- frame=frame, image_size=image_size):
+ try:
+ mime, image = self.getConversion(display=display, format=format,
+ quality=quality, resolution=resolution,
+ frame=frame, image_size=image_size)
+ except KeyError:
# Generate photo on-the-fly
- self._makeDisplayPhoto(display, format=format, quality=quality,
- resolution=resolution, frame=frame,
- image_size=image_size)
- mime, image = self.getConversion(display=display, format=format,
- quality=quality, resolution=resolution,
- frame=frame, image_size=image_size)
+ mime, image = self._makeDisplayPhoto(display, format=format, quality=quality,
+ resolution=resolution, frame=frame,
+ image_size=image_size)
width, height = (image.width, image.height)
# Set cookie for chosen size
if cookie:
@@ -336,25 +335,25 @@
Implementation of conversion for PDF files
"""
if format in ('text', 'txt', 'html', 'base_html', 'stripped-html'):
- if not self.hasConversion(format=format):
+ try:
+ return self.getConversion(format=format)
+ except KeyError:
mime_type, data = self._convertToText(format)
self.setConversion(data, mime=mime_type, format=format)
- return self.getConversion(format=format)
+ return (mime_type, aq_base(data))
image_size = self.getSizeFromImageDisplay(display)
if (display is not None or resolution is not None or quality != 75 or format != ''\
or frame is not None) and image_size:
- if not self.hasConversion(display=display, format=format,
- quality=quality, resolution=resolution,
- frame=frame, image_size=image_size):
- # Generate photo on-the-fly
- self._makeDisplayPhoto(display, format=format, quality=quality,
- resolution=resolution, frame=frame,
- image_size=image_size)
- # Return resized image
+ try:
mime, image = self.getConversion(display=display, format=format,
- quality=quality ,resolution=resolution,
+ quality=quality, resolution=resolution,
frame=frame, image_size=image_size)
- return mime, image.data
+ except KeyError:
+ # Generate photo on-the-fly
+ mime, image = self._makeDisplayPhoto(display, format=format, quality=quality,
+ resolution=resolution, frame=frame,
+ image_size=image_size)
+ return mime, image.data
return self.getContentType(), self.getData()
security.declareProtected(Permissions.View, 'getSearchableText')
@@ -382,17 +381,15 @@
image_size = self.getSizeFromImageDisplay(display)
if (display is not None or resolution is not None or quality != 75 or format != ''\
or frame is not None) and image_size:
- if not self.hasConversion(display=display, format=format,
- quality=quality, resolution=resolution,
- frame=frame, image_size=image_size):
+ try:
+ mime, image = self.getConversion(display=display, format=format,
+ quality=quality, resolution=resolution,
+ frame=frame, image_size=image_size)
+ except KeyError:
# Generate photo on-the-fly
- self._makeDisplayPhoto(display, format=format, quality=quality,
- resolution=resolution, frame=frame,
- image_size=image_size)
- # Return resized image
- mime, image = self.getConversion(display=display, format=format,
- quality=quality ,resolution=resolution,
- frame=frame, image_size=image_size)
+ mime, image = self._makeDisplayPhoto(display, format=format, quality=quality,
+ resolution=resolution, frame=frame,
+ image_size=image_size)
RESPONSE.setHeader('Content-Type', mime)
return image.index_html(REQUEST, RESPONSE)
@@ -483,15 +480,14 @@
def _makeDisplayPhoto(self, display, format='', quality=75, resolution=None, frame=None,
image_size=None):
"""Create given display."""
- if not self.hasConversion(display=display, format=format, quality=quality,
- resolution=resolution, frame=frame, image_size=image_size):
- image = self._getDisplayPhoto(display, format=format, quality=quality,
- resolution=resolution, frame=frame,
- image_size=image_size)
- self.setConversion(image, mime=image.content_type,
- display=display, format=format,
- quality=quality, resolution=resolution,
- frame=frame, image_size=image_size)
+ image = self._getDisplayPhoto(display, format=format, quality=quality,
+ resolution=resolution, frame=frame,
+ image_size=image_size)
+ self.setConversion(image, mime=image.content_type,
+ display=display, format=format,
+ quality=quality, resolution=resolution,
+ frame=frame, image_size=image_size)
+ return (image.content_type, aq_base(image))
def _getAspectRatioSize(self, width, height):
"""Return proportional dimensions within desired size."""
More information about the Erp5-report
mailing list