]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
sigh. go back to __iter__ because of silly rowproxy as argument requirement
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 12 Jun 2012 00:46:43 +0000 (20:46 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 12 Jun 2012 00:46:43 +0000 (20:46 -0400)
lib/sqlalchemy/engine/base.py

index 830009a2b08b94fc9ddfe9ae0f1adcabc041dfc3..a475dd21bf422a93f87bd0929074a555c9da1e06 100644 (file)
@@ -1476,7 +1476,8 @@ class Connection(Connectable):
         elif len(multiparams) == 1:
             zero = multiparams[0]
             if isinstance(zero, (list, tuple)):
-                if not zero or isinstance(zero[0], (list, tuple, dict)):
+                if not zero or hasattr(zero[0], '__iter__') and \
+                        not hasattr(zero[0], 'strip'):
                     # execute(stmt, [{}, {}, {}, ...])
                     # execute(stmt, [(), (), (), ...])
                     return zero
@@ -1490,7 +1491,8 @@ class Connection(Connectable):
                 # execute(stmt, "value")
                 return [[zero]]
         else:
-            if isinstance(multiparams[0], (list, tuple, dict)):
+            if hasattr(multiparams[0], '__iter__') and \
+                not hasattr(multiparams[0], 'strip'):
                 return multiparams
             else:
                 return [multiparams]