[Erp5-report] r29015 - /erp5/trunk/products/ERP5/Document/Image.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Sep 14 10:52:16 CEST 2009
Author: nicolas
Date: Mon Sep 14 10:52:14 2009
New Revision: 29015
URL: http://svn.erp5.org?rev=29015&view=rev
Log:
reindent code with 2 spaces
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=29015&r1=29014&r2=29015&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/Image.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/Image.py [utf8] Mon Sep 14 10:52:14 2009
@@ -133,7 +133,6 @@
self.width = width
self._setContentType(content_type)
-
def _upradeImage(self):
"""
This method upgrades internal data structures is required
@@ -258,53 +257,53 @@
return result
def __str__(self):
- return self.tag()
+ return self.tag()
security.declareProtected('Access contents information', 'displayIds')
def displayIds(self, exclude=('thumbnail',)):
- """Return list of display Ids."""
- id_list = list(default_displays_id_list)
- # Exclude specified displays
- if exclude:
- for id in exclude:
- if id in id_list:
- id_list.remove(id)
- # Sort by desired photo surface area
- def getSurfaceArea(img):
- x, y = self.getSizeFromImageDisplay(img)
- return x * y
- id_list.sort(key=getSurfaceArea)
- return id_list
+ """Return list of display Ids."""
+ id_list = list(default_displays_id_list)
+ # Exclude specified displays
+ if exclude:
+ for id in exclude:
+ if id in id_list:
+ id_list.remove(id)
+ # Sort by desired photo surface area
+ def getSurfaceArea(img):
+ x, y = self.getSizeFromImageDisplay(img)
+ return x * y
+ id_list.sort(key=getSurfaceArea)
+ return id_list
security.declareProtected('Access contents information', 'displayLinks')
def displayLinks(self, exclude=('thumbnail',)):
- """Return list of HTML <a> tags for displays."""
- links = []
- for display in self.displayIds(exclude):
- links.append('<a href="%s?display=%s">%s</a>' % (self.REQUEST['URL'], display, display))
- return links
+ """Return list of HTML <a> tags for displays."""
+ links = []
+ for display in self.displayIds(exclude):
+ links.append('<a href="%s?display=%s">%s</a>' % (self.REQUEST['URL'], display, display))
+ return links
security.declareProtected('Access contents information', 'displayMap')
def displayMap(self, exclude=None, format='', quality=75, resolution=None):
- """Return list of displays with size info."""
- displays = []
- for id in self.displayIds(exclude):
- if self._isGenerated(id, format=format, quality=quality, resolution=resolution):
- photo_width = self._photos[(id,format)].width
- photo_height = self._photos[(id,format)].height
- bytes = self._photos[(id,format)]._size()
- age = self._photos[(id,format)]._age()
- else:
- (photo_width, photo_height, bytes, age) = (None, None, None, None)
- displays.append({'id': id,
- 'width': self.getSizeFromImageDisplay(id)[0],
- 'height': self.getSizeFromImageDisplay(id)[1],
- 'photo_width': photo_width,
- 'photo_height': photo_height,
- 'bytes': bytes,
- 'age': age
- })
- return displays
+ """Return list of displays with size info."""
+ displays = []
+ for id in self.displayIds(exclude):
+ if self._isGenerated(id, format=format, quality=quality, resolution=resolution):
+ photo_width = self._photos[(id,format)].width
+ photo_height = self._photos[(id,format)].height
+ bytes = self._photos[(id,format)]._size()
+ age = self._photos[(id,format)]._age()
+ else:
+ (photo_width, photo_height, bytes, age) = (None, None, None, None)
+ displays.append({'id': id,
+ 'width': self.getSizeFromImageDisplay(id)[0],
+ 'height': self.getSizeFromImageDisplay(id)[1],
+ 'photo_width': photo_width,
+ 'photo_height': photo_height,
+ 'bytes': bytes,
+ 'age': age
+ })
+ return displays
security.declarePrivate('_convertToText')
@@ -324,10 +323,10 @@
filename=self.getTitleOrId(),
mimetype=src_mimetype)
if result is None:
- # portal_transforms fails to convert.
- LOG('TextDocument.convert', WARNING,
- 'portal_transforms failed to convert to %s: %r' % (mime_type, self))
- result = ''
+ # portal_transforms fails to convert.
+ LOG('TextDocument.convert', WARNING,
+ 'portal_transforms failed to convert to %s: %r' % (mime_type, self))
+ result = ''
return mime_type, result
else:
# text_content is not set, return empty string instead of None
@@ -379,30 +378,30 @@
security.declareProtected('View', 'index_html')
def index_html(self, REQUEST, RESPONSE, display=None, format='', quality=75,
resolution=None, frame=None):
- """Return the image data."""
- self._upradeImage()
-
- _setCacheHeaders(_ViewEmulator().__of__(self), dict(display=display,
- format=format, quality=quality, resolution=resolution, frame=frame))
-
- # display may be set from a cookie (?)
- 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:
- 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
- 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)
-
- # Return original image
- return OFSImage.index_html(self, REQUEST, RESPONSE)
+ """Return the image data."""
+ self._upradeImage()
+
+ _setCacheHeaders(_ViewEmulator().__of__(self), dict(display=display,
+ format=format, quality=quality, resolution=resolution, frame=frame))
+
+ # display may be set from a cookie (?)
+ 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:
+ 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
+ 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)
+
+ # Return original image
+ return OFSImage.index_html(self, REQUEST, RESPONSE)
#
@@ -411,114 +410,114 @@
def _resize(self, display, width, height, quality=75, format='',
resolution=None, frame=None):
- """Resize and resample photo."""
- newimg = StringIO()
-
- parameter_list = ['convert']
- parameter_list.extend(['-colorspace', 'RGB'])
- if resolution:
- parameter_list.extend(['-density', '%sx%s' % (resolution, resolution)])
- parameter_list.extend(['-quality', str(quality)])
- parameter_list.extend(['-geometry', '%sx%s' % (width, height)])
- if frame:
- parameter_list.append('-[%s]' % frame)
+ """Resize and resample photo."""
+ newimg = StringIO()
+
+ parameter_list = ['convert']
+ parameter_list.extend(['-colorspace', 'RGB'])
+ if resolution:
+ parameter_list.extend(['-density', '%sx%s' % (resolution, resolution)])
+ parameter_list.extend(['-quality', str(quality)])
+ parameter_list.extend(['-geometry', '%sx%s' % (width, height)])
+ if frame:
+ parameter_list.append('-[%s]' % frame)
+ else:
+ parameter_list.append('-')
+
+ if format:
+ parameter_list.append('%s:-' % format)
+ else:
+ parameter_list.append('-')
+
+ process = subprocess.Popen(parameter_list,
+ stdin=subprocess.PIPE,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE,
+ close_fds=True)
+ imgin, imgout, err = process.stdin, process.stdout, process.stderr
+
+ def writeData(stream, data):
+ if isinstance(data, str):
+ stream.write(str(self.getData()))
else:
- parameter_list.append('-')
-
- if format:
- parameter_list.append('%s:-' % format)
- else:
- parameter_list.append('-')
-
- process = subprocess.Popen(parameter_list,
- stdin=subprocess.PIPE,
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
- close_fds=True)
- imgin, imgout, err = process.stdin, process.stdout, process.stderr
-
- def writeData(stream, data):
- if isinstance(data, str):
- stream.write(str(self.getData()))
- else:
- # Use PData structure to prevent
- # consuming too much memory
- while data is not None:
- stream.write(data.data)
- data = data.next
-
- writeData(imgin, self.getData())
- imgin.close()
- newimg.write(imgout.read())
- imgout.close()
- if not newimg.tell():
- raise ConversionError('Image conversion failed (%s).' % err.read())
- newimg.seek(0)
- return newimg
+ # Use PData structure to prevent
+ # consuming too much memory
+ while data is not None:
+ stream.write(data.data)
+ data = data.next
+
+ writeData(imgin, self.getData())
+ imgin.close()
+ newimg.write(imgout.read())
+ imgout.close()
+ if not newimg.tell():
+ raise ConversionError('Image conversion failed (%s).' % err.read())
+ newimg.seek(0)
+ return newimg
def _getDisplayData(self, display, format='', quality=75, resolution=None, frame=None,
image_size=None):
- """Return raw photo data for given display."""
- if display is None:
- (width, height) = (self.getWidth(), self.getHeight())
- elif image_size is None:
- (width, height) = self.getSizeFromImageDisplay(display)
- else:
- (width, height) = image_size
- if width == 0 and height == 0:
- width = self.getWidth()
- height = self.getHeight()
- (width, height) = self._getAspectRatioSize(width, height)
- if (width, height) == (0, 0):return self.getData()
- return self._resize(display, width, height, quality, format=format,
- resolution=resolution, frame=frame)
+ """Return raw photo data for given display."""
+ if display is None:
+ (width, height) = (self.getWidth(), self.getHeight())
+ elif image_size is None:
+ (width, height) = self.getSizeFromImageDisplay(display)
+ else:
+ (width, height) = image_size
+ if width == 0 and height == 0:
+ width = self.getWidth()
+ height = self.getHeight()
+ (width, height) = self._getAspectRatioSize(width, height)
+ if (width, height) == (0, 0):return self.getData()
+ return self._resize(display, width, height, quality, format=format,
+ resolution=resolution, frame=frame)
def _getDisplayPhoto(self, display, format='', quality=75, resolution=None, frame=None,
image_size=None):
- """Return photo object for given display."""
- try:
- base, ext = string.split(self.id, '.')
- id = base + '_' + display + '.' + ext
- except ValueError:
- id = self.id +'_'+ display
- image = OFSImage(id, self.getTitle(), self._getDisplayData(display, format=format,
- quality=quality, resolution=resolution, frame=frame,
- image_size=image_size))
- return image
+ """Return photo object for given display."""
+ try:
+ base, ext = string.split(self.id, '.')
+ id = base + '_' + display + '.' + ext
+ except ValueError:
+ id = self.id +'_'+ display
+ image = OFSImage(id, self.getTitle(), self._getDisplayData(display, format=format,
+ quality=quality, resolution=resolution, frame=frame,
+ image_size=image_size))
+ return image
def _makeDisplayPhoto(self, display, format='', quality=75, resolution=None, frame=None,
image_size=None):
- """Create given display."""
- 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))
+ """Create given display."""
+ 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."""
- img_width, img_height = (self.getWidth(), self.getHeight())
- if img_width == 0:
- return (0, 0)
-
- #XXX This is a temporary dirty fix!!!
- width = int(width)
- height = int(height)
- img_width = int(img_width)
- img_height = int(img_height)
-
- if height > img_height * width / img_width:
- height = img_height * width / img_width
- else:
- width = img_width * height / img_height
- return (width, height)
+ """Return proportional dimensions within desired size."""
+ img_width, img_height = (self.getWidth(), self.getHeight())
+ if img_width == 0:
+ return (0, 0)
+
+ #XXX This is a temporary dirty fix!!!
+ width = int(width)
+ height = int(height)
+ img_width = int(img_width)
+ img_height = int(img_height)
+
+ if height > img_height * width / img_width:
+ height = img_height * width / img_width
+ else:
+ width = img_width * height / img_height
+ return (width, height)
def _validImage(self):
- """At least see if it *might* be valid."""
- return self.getWidth() and self.getHeight() and self.getData() and self.getContentType()
+ """At least see if it *might* be valid."""
+ return self.getWidth() and self.getHeight() and self.getData() and self.getContentType()
security.declareProtected('View', 'getSizeFromImageDisplay')
def getSizeFromImageDisplay(self, image_display):
More information about the Erp5-report
mailing list