From 086d18cf1ee22a877d294f5590f179ec109debe7 Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Wed, 7 Oct 2009 13:57:34 +0000
Subject: [PATCH] Do not repeat the same list of parameters all the time

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@29450 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Image.py | 33 ++++++++++++---------------------
 1 file changed, 12 insertions(+), 21 deletions(-)

diff --git a/product/ERP5/Document/Image.py b/product/ERP5/Document/Image.py
index fe25950810..089bd19b41 100644
--- a/product/ERP5/Document/Image.py
+++ b/product/ERP5/Document/Image.py
@@ -204,18 +204,14 @@ class Image(File, OFSImage):
     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:
+      kw = dict(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)
+        mime, image = self.getConversion(**kw)
       except KeyError:
         # Generate photo on-the-fly
-        mime, image = self._makeDisplayPhoto(display, format=format, quality=quality,
-                                             resolution=resolution, frame=frame,
-                                             image_size=image_size)
-        self.setConversion(image, mime, display=display, format=format,
-                           quality=quality, resolution=resolution,
-                           frame=frame, image_size=image_size)
+        mime, image = self._makeDisplayPhoto(**kw)
+        self.setConversion(image, mime, **kw)
       width, height = (image.width, image.height)
       # Set cookie for chosen size
       if cookie:
@@ -373,25 +369,20 @@ class Image(File, OFSImage):
     """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)
+    kw = dict(display=display, format=format, quality=quality,
+              resolution=resolution, frame=frame, image_size=image_size)
+    _setCacheHeaders(_ViewEmulator().__of__(self), kw)
+
     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)
+        mime, image = self.getConversion(**kw)
       except KeyError:
         # Generate photo on-the-fly
-        mime, image = self._makeDisplayPhoto(display, format=format, quality=quality,
-                                             resolution=resolution, frame=frame,
-                                             image_size=image_size)
-        self.setConversion(image, mime, display=display, format=format, quality=quality,
-                           resolution=resolution, frame=frame,
-                           image_size=image_size)
+        mime, image = self._makeDisplayPhoto(**kw)
+        self.setConversion(image, mime, **kw)
       RESPONSE.setHeader('Content-Type', mime)
       return image.index_html(REQUEST, RESPONSE)
 
-- 
2.30.9