Re: sqlite3 adaptors mystery
- From: Matej Cepl <mcepl@xxxxxxxxxx>
- Date: Sun, 02 Mar 2008 09:16:28 +0100
On 2008-03-01, 23:41 GMT, Mel wrote:
There's nothing much wrong. cur.fetchall is returning a list
of all the selected rows, and each row is a tuple of fields.
Each tuple is being converted for display by repr, so the
strings are shown as unicode, which is what they are
internally. Change the print to
for (field,) in cur.fetchall():
print field
and you'll see your plain-text strings.
Thanks for your help, but plain-text strings is not what
I wanted. The boolean variables was what I was after. See this
modified version of the script:
#!/usr/bin/python
import sqlite3
def adapt_boolean(bol):
if bol:
return "True"
else:
return "False"
def convert_boolean(bolStr):
if str(bolStr) == "True":
return bool(True)
elif str(bolStr) == "False":
return bool(False)
else:
raise ValueError, "Unknown value of bool attribute
'%s'" % bolStr
sqlite3.register_adapter(bool,adapt_boolean)
sqlite3.register_converter("boolean",convert_boolean)
db = sqlite3.connect(":memory:")
cur=db.cursor()
cur.execute("create table test(p boolean)")
p=False
cur.execute("insert into test(p) values (?)", (p,))
p=True
cur.execute("insert into test(p) values (?)", (p,))
cur.execute("select p from test")
for (field,) in cur.fetchall():
print field,type(field)
The output here is:
[matej@viklef dumpBugzilla]$ python testAdaptors.py False <type
'unicode'>
True <type 'unicode'>
[matej@viklef dumpBugzilla]$
I thought that converter is there for just exactly this -- that
I would get back bool values not strings.
Sorry for not being clear in the first run.
Matej
.
- Follow-Ups:
- Re: sqlite3 adaptors mystery
- From: Mel
- Re: sqlite3 adaptors mystery
- From: Matej Cepl
- Re: sqlite3 adaptors mystery
- References:
- sqlite3 adaptors mystery
- From: Matej Cepl
- Re: sqlite3 adaptors mystery
- From: Mel
- sqlite3 adaptors mystery
- Prev by Date: FW: Escaping a triple quoted string' newbie question
- Next by Date: Re: mod_python Unable to create file
- Previous by thread: Re: sqlite3 adaptors mystery
- Next by thread: Re: sqlite3 adaptors mystery
- Index(es):
Relevant Pages
|