From: Mike Bayer Date: Tue, 12 Jun 2012 00:46:43 +0000 (-0400) Subject: sigh. go back to __iter__ because of silly rowproxy as argument requirement X-Git-Tag: rel_0_8_0b1~391 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ce985cc71a11c147da44359d012fa14ee439a8d5;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git sigh. go back to __iter__ because of silly rowproxy as argument requirement --- diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py index 830009a2b0..a475dd21bf 100644 --- a/lib/sqlalchemy/engine/base.py +++ b/lib/sqlalchemy/engine/base.py @@ -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]