From 17bad827aee368b5658a5469b0e5860977080b31 Mon Sep 17 00:00:00 2001 From: Thomas Levine <_@thomaslevine.com> Date: Fri, 29 Aug 2014 18:12:25 +0000 Subject: [PATCH] add __contains__ --- dataset/persistence/database.py | 3 +++ test/test_persistence.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/dataset/persistence/database.py b/dataset/persistence/database.py index 3a5f18f..6261ee3 100644 --- a/dataset/persistence/database.py +++ b/dataset/persistence/database.py @@ -141,6 +141,9 @@ class Database(object): set(self.metadata.tables.keys()) | set(self._tables.keys()) ) + def __contains__(self, member): + return member in self.tables + def create_table(self, table_name, primary_id='id', primary_type='Integer'): """ Creates a new table. The new table will automatically have an `id` column diff --git a/test/test_persistence.py b/test/test_persistence.py index 6040999..c009c42 100644 --- a/test/test_persistence.py +++ b/test/test_persistence.py @@ -38,6 +38,9 @@ class DatabaseTestCase(unittest.TestCase): def test_tables(self): assert self.db.tables == ['weather'], self.db.tables + def test_contains(self): + assert 'weather' in self.db, self.db.tables + def test_create_table(self): table = self.db['foo'] assert table.table.exists()