Mercurial > cpython-lru_cache-weakref
annotate Doc/includes/sqlite3/text_factory.py @ 79691:05c8928362ee
Merge __next__ method link fixes with 3.3.
| author | Ezio Melotti <ezio.melotti@gmail.com> |
|---|---|
| date | Fri, 12 Oct 2012 13:46:37 +0300 |
| parents | ba5b337ecc27 |
| children |
| rev | line source |
|---|---|
|
42604
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
1 import sqlite3 |
|
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
2 |
|
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
3 con = sqlite3.connect(":memory:") |
|
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
4 cur = con.cursor() |
|
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
5 |
|
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
6 AUSTRIA = "\xd6sterreich" |
|
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
7 |
|
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
8 # by default, rows are returned as Unicode |
|
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
9 cur.execute("select ?", (AUSTRIA,)) |
|
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
10 row = cur.fetchone() |
|
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
11 assert row[0] == AUSTRIA |
|
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
12 |
|
54339
699da6c467dc
Merged revisions 72661,72675-72677,72679,72712,72801,72820 via svnmerge from
Georg Brandl <georg@python.org>
parents:
42604
diff
changeset
|
13 # but we can make sqlite3 always return bytestrings ... |
|
74959
9eb77d455be1
Issue #13491: Fix many errors in sqlite3 documentation
Petri Lehtinen <petri@digip.org>
parents:
55580
diff
changeset
|
14 con.text_factory = bytes |
|
42604
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
15 cur.execute("select ?", (AUSTRIA,)) |
|
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
16 row = cur.fetchone() |
|
74959
9eb77d455be1
Issue #13491: Fix many errors in sqlite3 documentation
Petri Lehtinen <petri@digip.org>
parents:
55580
diff
changeset
|
17 assert type(row[0]) is bytes |
|
42604
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
18 # the bytestrings will be encoded in UTF-8, unless you stored garbage in the |
|
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
19 # database ... |
|
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
20 assert row[0] == AUSTRIA.encode("utf-8") |
|
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
21 |
|
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
22 # we can also implement a custom text_factory ... |
|
74959
9eb77d455be1
Issue #13491: Fix many errors in sqlite3 documentation
Petri Lehtinen <petri@digip.org>
parents:
55580
diff
changeset
|
23 # here we implement one that appends "foo" to all strings |
|
9eb77d455be1
Issue #13491: Fix many errors in sqlite3 documentation
Petri Lehtinen <petri@digip.org>
parents:
55580
diff
changeset
|
24 con.text_factory = lambda x: x.decode("utf-8") + "foo" |
|
9eb77d455be1
Issue #13491: Fix many errors in sqlite3 documentation
Petri Lehtinen <petri@digip.org>
parents:
55580
diff
changeset
|
25 cur.execute("select ?", ("bar",)) |
|
42604
9e1529bf0442
Move the 3k reST doc tree in place.
Georg Brandl <georg@python.org>
parents:
diff
changeset
|
26 row = cur.fetchone() |
|
74959
9eb77d455be1
Issue #13491: Fix many errors in sqlite3 documentation
Petri Lehtinen <petri@digip.org>
parents:
55580
diff
changeset
|
27 assert row[0] == "barfoo" |
