From 9db98d2deeec3d77a9ba3447bdd46ef7067f257e Mon Sep 17 00:00:00 2001 From: Robert Leftwich Date: Sun, 29 Jan 2006 04:04:17 +0000 Subject: [PATCH] Added __len__ to RowProxy to allow len(r) and test for same. --- lib/sqlalchemy/engine.py | 2 ++ test/query.py | 1 + 2 files changed, 3 insertions(+) diff --git a/lib/sqlalchemy/engine.py b/lib/sqlalchemy/engine.py index 3af02616b3..3a3af2ce93 100644 --- a/lib/sqlalchemy/engine.py +++ b/lib/sqlalchemy/engine.py @@ -716,6 +716,8 @@ class RowProxy: return [v for _, v in self.iteritems()] def items(self): return list(self.iteritems()) + def __len__(self): + return len(self.keys()) diff --git a/test/query.py b/test/query.py index ceb50ebd00..cae0c30693 100644 --- a/test/query.py +++ b/test/query.py @@ -116,6 +116,7 @@ class QueryTest(PersistTest): self.assertEqual(r.values(), [1, 'foo']) self.assertEqual(zip(r.itervalues(), r.iterkeys()), zip(r.values(), r.keys())) self.assertEqual(repr(r), "{'user_name': u'foo', 'user_id': 1}") + self.assertEqual(len(r), 2) def test_column_accessor_shadow(self): shadowed = Table('test_shadowed', db, -- 2.47.2