Author: phd
Date: 2005-11-30 18:40:48 +0000 (Wed, 30 Nov 2005)
New Revision: 1331
Modified:
home/phd/SQLObject/paramstyles/sqlobject/col.py
home/phd/SQLObject/paramstyles/sqlobject/events.py
home/phd/SQLObject/paramstyles/sqlobject/sqlite/sqliteconnection.py
home/phd/SQLObject/paramstyles/sqlobject/tests/test_events.py
Log:
Merged patches from the revisions 1327:1330 from the trunk
Modified: home/phd/SQLObject/paramstyles/sqlobject/col.py
===================================================================
--- home/phd/SQLObject/paramstyles/sqlobject/col.py 2005-11-30 18:39:28 UTC (rev 1330)
+++ home/phd/SQLObject/paramstyles/sqlobject/col.py 2005-11-30 18:40:48 UTC (rev 1331)
@@ -1204,7 +1204,7 @@
return None
if isinstance(value, str):
module = state.soObject._connection.module
- if module.__name__ == "sqlite":
+ if module.__name__ in ("sqlite", "pysqlite2.dbapi2"):
value = module.decode(value)
return value
if isinstance(value, (buffer_type, state.soObject._connection._binaryType)):
Modified: home/phd/SQLObject/paramstyles/sqlobject/events.py
===================================================================
--- home/phd/SQLObject/paramstyles/sqlobject/events.py 2005-11-30 18:39:28 UTC (rev 1330)
+++ home/phd/SQLObject/paramstyles/sqlobject/events.py 2005-11-30 18:40:48 UTC (rev 1331)
@@ -269,6 +269,24 @@
else:
return repr(v)
+try:
+ sorted
+except NameError:
+ # For Python 2.2 and 2.3:
+ def sorted(lst, cmp=None, key=None, reverse=False):
+ if key:
+ lst = [(key(i), i) for i in lst]
+ lst = lst[:]
+ if cmp:
+ lst.sort(cmp)
+ else:
+ lst.sort()
+ if key:
+ lst = [i for k, i in lst]
+ if reverse:
+ lst.reverse()
+ return lst
+
__all__ = ['listen', 'send']
for name, value in globals().items():
if isinstance(value, type) and issubclass(value, Signal):
Modified: home/phd/SQLObject/paramstyles/sqlobject/sqlite/sqliteconnection.py
===================================================================
--- home/phd/SQLObject/paramstyles/sqlobject/sqlite/sqliteconnection.py 2005-11-30 18:39:28 UTC (rev 1330)
+++ home/phd/SQLObject/paramstyles/sqlobject/sqlite/sqliteconnection.py 2005-11-30 18:40:48 UTC (rev 1331)
@@ -3,6 +3,7 @@
sqlite = None
using_sqlite2 = False
+sqlite2_Binary = None
class SQLiteConnection(DBAPI):
@@ -34,6 +35,19 @@
for col_type in "text", "char", "varchar":
sqlite.register_converter(col_type, stop_pysqlite2_converting_strings_to_unicode)
sqlite.register_converter(col_type.upper(), stop_pysqlite2_converting_strings_to_unicode)
+ try:
+ from sqlite import encode, decode
+ except ImportError:
+ import base64
+ sqlite.encode = base64.encodestring
+ sqlite.decode = base64.decodestring
+ else:
+ sqlite.encode = encode
+ sqlite.decode = decode
+ global sqlite2_Binary
+ if sqlite2_Binary is None:
+ sqlite2_Binary = sqlite.Binary
+ sqlite.Binary = lambda s: sqlite2_Binary(sqlite.encode(s))
else:
opts['autocommit'] = autoCommit
if 'encoding' in kw:
Modified: home/phd/SQLObject/paramstyles/sqlobject/tests/test_events.py
===================================================================
--- home/phd/SQLObject/paramstyles/sqlobject/tests/test_events.py 2005-11-30 18:39:28 UTC (rev 1330)
+++ home/phd/SQLObject/paramstyles/sqlobject/tests/test_events.py 2005-11-30 18:40:48 UTC (rev 1331)
@@ -3,24 +3,6 @@
from sqlobject import events
import sys
-try:
- sorted
-except NameError:
- # For Python 2.3 and under:
- def sorted(lst, cmp=None, key=None, reverse=False):
- if key:
- lst = [(key(i), i) for i in lst]
- lst = lst[:]
- if cmp:
- lst.sort(cmp)
- else:
- lst.sort()
- if key:
- lst = [i for k, i in lst]
- if reverse:
- lst.reverse()
- return lst
-
class EventTester(SQLObject):
name = StringCol()
|