Table.__getitem__ did not work at all
authorMichael Elsdoerfer <michael@elsdoerfer.info>
Fri, 27 Jun 2008 23:01:52 +0000 (01:01 +0200)
committerMichael Elsdoerfer <michael@elsdoerfer.info>
Fri, 27 Jun 2008 23:01:52 +0000 (01:01 +0200)
django_tables/tables.py
tests/test_basic.py

index 064407b9834984c07a1c42ee2c8ae6bcdad6a070..21969c3c552431b251f1239561326c9e357c1daf 100644 (file)
@@ -254,12 +254,8 @@ class BaseTable(object):
         for row in self.rows:\r
             yield row\r
 \r
-    def __getitem__(self, name):\r
-        try:\r
-            column = self.columns[name]\r
-        except KeyError:\r
-            raise KeyError('Key %r not found in Table' % name)\r
-        return BoundColumn(self, column, name)\r
+    def __getitem__(self, key):\r
+        return self.rows[key]\r
 \r
     # just to make those readonly\r
     columns = property(lambda s: s._columns)\r
index b45ffed785ae87b70f22602c56f8e08c81c34fe6..5914186f36082c0964d1a1e040a92fd52d795807 100644 (file)
@@ -86,6 +86,10 @@ def test_basic():
     assert 'name' in stuff.rows[0]\r
     assert isinstance(stuff.rows[0:], list)\r
 \r
+    # [bug] splicing the table gives as valid, working rows\r
+    assert list(stuff[0]) == list(stuff.rows[0])\r
+    assert stuff[0]['name'] == 'Foo Bar'\r
+\r
     # changing an instance's base_columns does not change the class\r
     assert id(stuff.base_columns) != id(StuffTable.base_columns)\r
     stuff.base_columns['test'] = tables.Column()\r