From: | Nahum Castro <nahumcastro(at)gmail(dot)com> |
---|---|
To: | Jonathan Rogers <jrogers(at)socialserve(dot)com> |
Cc: | psycopg(at)postgresql(dot)org |
Subject: | Re: OT? plpython2u |
Date: | 2016-10-20 19:03:39 |
Message-ID: | CABqArLgGUPscXXcoKyNaLYmiiJMCm+Jivzvjkd2i1fCF0wx4Pw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda psycopg |
2016-10-20 13:06 GMT-05:00 Jonathan Rogers <jrogers(at)socialserve(dot)com>:
> On 10/20/2016 01:14 PM, Nahum Castro wrote:
> > Hello all.
> >
> > I need to process images on my database, they are stored on a bytea
> column.
> >
> > The process consist on scaling and I have done this so far:
> >
> > CREATE OR REPLACE FUNCTION ajustar(randstring bytea)
> > RETURNS bytea AS
> > $$
> > import PIL
> > from PIL import Image
> > basewidth = 300
> > img = randstring
> > wpercent = (basewidth/float(img.size[0]))
> > hsize = int((float(img.size[1])*float(wpercent)))
> > img = img.resize((basewidth,hsize), PIL.Image.ANTIALIAS)
> >
> > return img
> > $$
> > LANGUAGE 'plpython2u' VOLATILE;
>
> As you probably know, Postgres procedural languages are server-side
> extensions and therefore have nothing to do with psycopg, which is a
> client-side library.
>
Thanks, but rather than help in plpython is how to pass the variable bytea
from postgres to an image in python.
>
> >
> > The objective of this pl is read the bytea from the database, scale,
> > then replace the scaled image in the database, but I don't know what
> > type use to pass to the variable img.
>
> AFAICT, if you pass a bytea value to a plpythonu function, it will
> receive a Python str object.
>
That is where i get confused, what is stored in the db is in bytea, how I
do to transform in a str?
>
> >
> > This is the query.
> > update personal set foto=ajustar(encode(foto, 'hex')::bytea);
>
> Why are you encoding the binary data into a textual representation? What
> image format is stored in column "foto"? Depending on the format, you
> probably want to use one of these constructors in function "ajustar":
>
Sorry I forgot, all images are in jpeg format.
>
> http://pillow.readthedocs.io/en/3.4.x/reference/Image.html?
> highlight=Image#PIL.Image.fromstring
>
> http://pillow.readthedocs.io/en/3.4.x/reference/Image.html?
> highlight=Image#PIL.Image.open
Again thanks.
Nahum
>
>
> --
> Jonathan Rogers
> Socialserve.com by Emphasys Software
> jrogers(at)emphasys-software(dot)com
>
> --
> Jonathan Rogers
> Socialserve.com by Emphasys Software
> jrogers(at)emphasys-software(dot)com
>
>
> --
> Sent via psycopg mailing list (psycopg(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/psycopg
>
--
*Nahum Castro González*
Blvd. Perdigón 214, Brisas del Lago.
CP 37207
León, Guanajuato, México
Tel (477)1950304
Cel (477)1274694
From | Date | Subject | |
---|---|---|---|
Next Message | Daymel Bonne Solís | 2016-10-20 19:05:46 | Re: Consulta recursiva |
Previous Message | Kernel | 2016-10-20 18:59:35 | Re: Consulta recursiva |
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2016-10-20 19:47:30 | Re: OT? plpython2u |
Previous Message | Jonathan Rogers | 2016-10-20 18:06:01 | Re: OT? plpython2u |