From: | "Carl S(dot) Yestrau Jr(dot)" <carl(at)featureblend(dot)com> |
---|---|
To: | Daniele Varrazzo <daniele(dot)varrazzo(at)gmail(dot)com> |
Cc: | psycopg(at)postgresql(dot)org |
Subject: | Re: getquoted and unicode |
Date: | 2011-01-23 17:17:16 |
Message-ID: | AANLkTikf0YTUwo7vgRVyoQtzspOmZh0q42XLdqOtdK62@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | psycopg |
It does work, using this branch, thank you.
One observation, the string returned is of type str, not unicode.
Example:
import psycopg2
psycopg2.extensions.register_type(psycopg2.extensions.UNICODE)
adapted = psycopg2.extensions.adapt(u'test')
print adapted.getquoted()
#<type 'str'>
On Sun, Jan 23, 2011 at 4:44 AM, Daniele Varrazzo
<daniele(dot)varrazzo(at)gmail(dot)com> wrote:
> On Sun, Jan 23, 2011 at 7:53 AM, Carl S. Yestrau Jr.
> <carl(at)featureblend(dot)com> wrote:
>> I'm currently using psycopg2.extensions.adapt without a connection
>> intentionally.
>>
>> The following results in a: psycopg2.InterfaceError: can't encode
>> unicode string to latin-1
>>
>> import psycopg2
>>
>> psycopg2.extensions.register_type(psycopg2.extensions.UNICODE)
>> adapted = psycopg2.extensions.adapt(u'test')
>> adapted.getquoted()
>
> You are right, it should work, and it works indeed in the psycopg dev
> version, but it looks broken in 2.3.2 and probably in previous
> versions.
>
> I can see that the glitch happens when the adapter is not "prepared"
> for the connection: if you add that step it will work. Preparation
> always happens when the parameters are passed to the query.
>
> >>> cnn = psycopg2.connect('dbname=test')
> >>> adapted.prepare(cnn)
> >>> adapted.getquoted()
> "E'test'"
>
> Preparation is probably not mentioned in the docs at all: this is
> something else to review. If you are into writing an adapter, you may
> want to take a look to SQL_IN or the hstore adapter for complete
> examples.
>
> If you need to work without the connection, do you want to try
> checking out my dev branch? I've just pushed it on
> <https://github.com/dvarrazzo/psycopg>.
>
> Cheers,
>
> -- Daniele
>
From | Date | Subject | |
---|---|---|---|
Next Message | Daniele Varrazzo | 2011-01-24 00:01:52 | Psycopg porting to Python3: a report |
Previous Message | Daniele Varrazzo | 2011-01-23 12:44:36 | Re: getquoted and unicode |