diff options
author | Kali Kaneko <kali@leap.se> | 2013-05-30 04:35:35 +0900 |
---|---|---|
committer | Kali Kaneko <kali@leap.se> | 2013-05-30 04:35:35 +0900 |
commit | 51032d827b297e4ea0cd529d57d73cd44e0c3905 (patch) | |
tree | cc69775b399af33479bcf1e3a7dbaa68b932b8b0 /doc/includes/sqlite3/text_factory.py | |
parent | 06d9e5e7714562b10c48a0482dec2acd4abee55a (diff) |
cleanup docs
Diffstat (limited to 'doc/includes/sqlite3/text_factory.py')
-rw-r--r-- | doc/includes/sqlite3/text_factory.py | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/doc/includes/sqlite3/text_factory.py b/doc/includes/sqlite3/text_factory.py deleted file mode 100644 index cb38d52..0000000 --- a/doc/includes/sqlite3/text_factory.py +++ /dev/null @@ -1,42 +0,0 @@ -from pysqlite2 import dbapi2 as sqlite3 - -con = sqlite3.connect(":memory:") -cur = con.cursor() - -# Create the table -con.execute("create table person(lastname, firstname)") - -AUSTRIA = u"\xd6sterreich" - -# by default, rows are returned as Unicode -cur.execute("select ?", (AUSTRIA,)) -row = cur.fetchone() -assert row[0] == AUSTRIA - -# but we can make pysqlite always return bytestrings ... -con.text_factory = str -cur.execute("select ?", (AUSTRIA,)) -row = cur.fetchone() -assert type(row[0]) == str -# the bytestrings will be encoded in UTF-8, unless you stored garbage in the -# database ... -assert row[0] == AUSTRIA.encode("utf-8") - -# we can also implement a custom text_factory ... -# here we implement one that will ignore Unicode characters that cannot be -# decoded from UTF-8 -con.text_factory = lambda x: unicode(x, "utf-8", "ignore") -cur.execute("select ?", ("this is latin1 and would normally create errors" + u"\xe4\xf6\xfc".encode("latin1"),)) -row = cur.fetchone() -assert type(row[0]) == unicode - -# pysqlite offers a builtin optimized text_factory that will return bytestring -# objects, if the data is in ASCII only, and otherwise return unicode objects -con.text_factory = sqlite3.OptimizedUnicode -cur.execute("select ?", (AUSTRIA,)) -row = cur.fetchone() -assert type(row[0]) == unicode - -cur.execute("select ?", ("Germany",)) -row = cur.fetchone() -assert type(row[0]) == str |