Hi David,
Yes! My suggestion would have made sense if image was passed by ref. But then this *is* python. If you can post ready-to-go code that reproduces this I'd be curious to take a look if for no other reason
here is some code to reproduce. This is the striped down version of the relevant parts: 1. External Method (create an external method object 'my_thumbs' in ZMI pointing to the script on the fs 2. html-form (only for convenience - you can use a image file object instead) 3. the ZMI-Python script calling my_thumbs I solved my problem now with a different "my_thumb" method returning a list of the needed thumb versions so I call Image.open() only once. But I am sure interested to find out what is causing the problem. Regards, Chris # external method for 'my_thumbs' def thumbs(self, image, size=100): from PIL import Image image=Image.open(image) # this is the problem when called 2 times ... # do stuff with the image - not important for example image.thumbnail((size,size)) file=StringIO() image.save(file, 'JPEG') return file.getvalue() # html-form to provide an fileupload instance to 'resize_image' <html><head><title>Add Image</title></head><body> <form name="form" action="add_image" method="post" enctype="multipart/form-data"> <input name="image" type="file"> <input type="submit" value="submit Image"> </form> </body></html> # the resize_image ZMI Python script image = context.REQUEST.form['image'] image_small = container.my_thumbs(image, size=100) # works :-) image_medium = container.my_thumbs(image, size=200) # does not work :-( # do stuff with the images (store, view, ...) return 'Success :-)'