db.table.image_field.retrieve_file_properties(db.table_iamge_field(id).image_field)['path']
Just not sure I can get file_properties in compute... Richard On Fri, Jul 12, 2013 at 11:34 AM, Richard Vézina < [email protected]> wrote: > Think this is helpful : > > retrieve_file_properties > > https://groups.google.com/forum/#!topic/web2py/p1W1cSKLjfc > https://groups.google.com/d/msg/web2py/epWzBU9sD_c/naBEfJ4t18sJ > > Richard > > > > On Fri, Jul 12, 2013 at 11:04 AM, Richard <[email protected]>wrote: > >> Hello, >> >> I would like to know how I can get the folder name on uploadseparate=True >> in order to pass it to the to the thumbnail generating function base on >> Bruno slice : >> http://www.web2pyslices.com/slice/show/1522/generate-a-thumbnail-that-fits-in-a-box >> >> We already found a workaround with os.walk, but with greate amount of >> folder it will come slow with time : >> >> #!/usr/bin/env python >> # coding: utf8 >> >> from gluon import current >> import os >> try: >> from PIL import Image >> except: >> import Image >> >> def SMARTHUMB(image, box, fit=True, name="thumb"): >> '''Downsample the image. >> @param img: Image - an Image-object >> @param box: tuple(x, y) - the bounding box of the result image >> @param fit: boolean - crop the image to fill the box >> ''' >> if image: >> request = current.request >> image_dir = __find_image_dir__(image, >> os.path.join(request.folder, 'uploads')) >> img = Image.open(os.path.join(image_dir, image)) >> #preresize image with factor 2, 4, 8 and fast algorithm >> factor = 1 >> while img.size[0] / factor > 2 * box[0] and img.size[1] * 2 / >> factor > 2 * box[1]: >> factor *= 2 >> if factor > 1: >> img.thumbnail((img.size[0] / factor, img.size[1] / factor), >> Image.NEAREST) >> >> #calculate the cropping box and get the cropped part >> if fit: >> x1 = y1 = 0 >> x2, y2 = img.size >> wRatio = 1.0 * x2 / box[0] >> hRatio = 1.0 * y2 / box[1] >> if hRatio > wRatio: >> y1 = int(y2 / 2 - box[1] * wRatio / 2) >> y2 = int(y2 / 2 + box[1] * wRatio / 2) >> else: >> x1 = int(x2 / 2 - box[0] * hRatio / 2) >> x2 = int(x2 / 2 + box[0] * hRatio / 2) >> img = img.crop((x1, y1, x2, y2)) >> >> #Resize the image with best quality algorithm ANTI-ALIAS >> img.thumbnail(box, Image.ANTIALIAS) >> >> root, ext = os.path.splitext(image) >> thumb = '%s_%s%s' % (root, name, ext) >> img.save(os.path.join(image_dir,thumb)) >> return thumb >> >> def __find_image_dir__(name, path): >> for root, dirs, files in os.walk(path): >> if name in files: >> return root >> >> Thanks >> >> Richard >> >> -- >> >> --- >> You received this message because you are subscribed to the Google Groups >> "web2py-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -- --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

