I don't totally understand the question but perhaps this will help. Below is 
in my model which takes an image and then creates a thumbnail by passing it 
to a function (also in the model).


db.define_table('item',
    Field('image', 'upload', uploadfolder=request.folder+'static/uploads'),
    Field('image_thumb', 'upload', 
uploadfolder=request.folder+'static/uploads',
            compute=lambda r: resize_image(r['image'], (150,130), 'thumb')))

def resize_image(image, size, path):
    from PIL import Image
    import os.path
    try:
        img = Image.open('%sstatic/uploads/%s' % (request.folder, image))
        img.thumbnail(size, Image.NEAREST)
        root, ext = os.path.splitext(image)
        filename = '%s_%s%s' %(root, path, ext)
        img.save('%sstatic/uploads/%s' % (request.folder, filename))
    except Exception, e:
        return e
    else:
        return filename

Reply via email to