[SQL-CVS] r2258 - in SQLObject/trunk/sqlobject: . tests
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
|
From: <sub...@co...> - 2007-02-06 15:38:53
|
Author: phd
Date: 2007-02-06 08:38:30 -0700 (Tue, 06 Feb 2007)
New Revision: 2258
Modified:
SQLObject/trunk/sqlobject/converters.py
SQLObject/trunk/sqlobject/tests/test_converters.py
Log:
A patch by Dan Pascu <da...@ag...> - allows to use set/frozenset sets/Set/ImmutableSet
sets as sequences passed to the IN operator.
Modified: SQLObject/trunk/sqlobject/converters.py
===================================================================
--- SQLObject/trunk/sqlobject/converters.py 2007-02-06 15:23:02 UTC (rev 2257)
+++ SQLObject/trunk/sqlobject/converters.py 2007-02-06 15:38:30 UTC (rev 2258)
@@ -180,6 +180,21 @@
registerConverter(type(()), SequenceConverter)
registerConverter(type([]), SequenceConverter)
+registerConverter(type({}), SequenceConverter)
+try:
+ set, frozenset
+except NameError:
+ pass
+else:
+ registerConverter(set, SequenceConverter)
+ registerConverter(frozenset, SequenceConverter)
+try:
+ from sets import Set, ImmutableSet
+except ImportError:
+ pass
+else:
+ registerConverter(Set, SequenceConverter)
+ registerConverter(ImmutableSet, SequenceConverter)
if hasattr(time, 'struct_time'):
def StructTimeConverter(value, db):
Modified: SQLObject/trunk/sqlobject/tests/test_converters.py
===================================================================
--- SQLObject/trunk/sqlobject/tests/test_converters.py 2007-02-06 15:23:02 UTC (rev 2257)
+++ SQLObject/trunk/sqlobject/tests/test_converters.py 2007-02-06 15:38:30 UTC (rev 2258)
@@ -176,3 +176,20 @@
def test_prefix():
instance = SQLPrefix('test', 'test')
assert sqlrepr(instance, 'mysql') == "test 'test'"
+
+def test_dict():
+ assert sqlrepr({"key": "value"}, "sqlite") == "('key')"
+
+def test_sets():
+ try:
+ set
+ except NameError:
+ pass
+ else:
+ assert sqlrepr(set([1])) == "(1)"
+ try:
+ from sets import Set
+ except ImportError:
+ pass
+ else:
+ assert sqlrepr(Set([1])) == "(1)"
|