thirdparty/google_appengine/google/appengine/api/images/images_stub.py
changeset 1278 a7766286a7be
parent 686 df109be0567c
child 2273 e4cb9c53db3e
--- a/thirdparty/google_appengine/google/appengine/api/images/images_stub.py	Thu Feb 12 10:24:37 2009 +0000
+++ b/thirdparty/google_appengine/google/appengine/api/images/images_stub.py	Thu Feb 12 12:30:36 2009 +0000
@@ -22,9 +22,13 @@
 import logging
 import StringIO
 
-import PIL
-from PIL import _imaging
-from PIL import Image
+try:
+  import PIL
+  from PIL import _imaging
+  from PIL import Image
+except ImportError:
+  import _imaging
+  import Image
 
 from google.appengine.api import apiproxy_stub
 from google.appengine.api import images
@@ -246,24 +250,6 @@
 
     return image.crop(box)
 
-  def _CheckTransformCount(self, transform_map, req_transform):
-    """Check that the requested transform hasn't already been set in map.
-
-    Args:
-      transform_map: {images_service_pb.ImagesServiceTransform: boolean}, map
-        to use to determine if the requested transform has been called.
-      req_transform: images_service_pb.ImagesServiceTransform, the requested
-        transform.
-
-    Raises:
-      BadRequestError if we are passed more than one of the same type of
-      transform.
-    """
-    if req_transform in transform_map:
-      raise apiproxy_errors.ApplicationError(
-          images_service_pb.ImagesServiceError.BAD_TRANSFORM_DATA)
-    transform_map[req_transform] = True
-
   def _ProcessTransforms(self, image, transforms):
     """Execute PIL operations based on transform values.
 
@@ -279,56 +265,29 @@
       transform.
     """
     new_image = image
-    transform_map = {}
+    if len(transforms) > images.MAX_TRANSFORMS_PER_REQUEST:
+      raise apiproxy_errors.ApplicationError(
+          images_service_pb.ImagesServiceError.BAD_TRANSFORM_DATA)
     for transform in transforms:
       if transform.has_width() or transform.has_height():
-        self._CheckTransformCount(
-            transform_map,
-            images_service_pb.ImagesServiceTransform.RESIZE
-        )
-
         new_image = self._Resize(new_image, transform)
 
       elif transform.has_rotate():
-        self._CheckTransformCount(
-            transform_map,
-            images_service_pb.ImagesServiceTransform.ROTATE
-        )
-
         new_image = self._Rotate(new_image, transform)
 
       elif transform.has_horizontal_flip():
-        self._CheckTransformCount(
-            transform_map,
-            images_service_pb.ImagesServiceTransform.HORIZONTAL_FLIP
-        )
-
         new_image = new_image.transpose(Image.FLIP_LEFT_RIGHT)
 
       elif transform.has_vertical_flip():
-        self._CheckTransformCount(
-            transform_map,
-            images_service_pb.ImagesServiceTransform.VERTICAL_FLIP
-        )
-
         new_image = new_image.transpose(Image.FLIP_TOP_BOTTOM)
 
       elif (transform.has_crop_left_x() or
           transform.has_crop_top_y() or
           transform.has_crop_right_x() or
           transform.has_crop_bottom_y()):
-        self._CheckTransformCount(
-            transform_map,
-            images_service_pb.ImagesServiceTransform.CROP
-        )
-
         new_image = self._Crop(new_image, transform)
 
       elif transform.has_autolevels():
-        self._CheckTransformCount(
-            transform_map,
-            images_service_pb.ImagesServiceTransform.IM_FEELING_LUCKY
-        )
         logging.info("I'm Feeling Lucky autolevels will be visible once this "
                      "application is deployed.")
       else: