From 8e837349855cef2e54460b705a166bf85e84017c Mon Sep 17 00:00:00 2001 From: Kuba Janoszek Date: Tue, 13 Mar 2012 00:05:24 +0100 Subject: [PATCH] Databook.add_sheet accepts Dataset subclasses --- tablib/core.py | 2 +- test_tablib.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/tablib/core.py b/tablib/core.py index 46146db..c52671e 100644 --- a/tablib/core.py +++ b/tablib/core.py @@ -955,7 +955,7 @@ class Databook(object): def add_sheet(self, dataset): """Adds given :class:`Dataset` to the :class:`Databook`.""" - if type(dataset) is Dataset: + if isinstance(dataset, Dataset): self._datasets.append(dataset) else: raise InvalidDatasetType diff --git a/test_tablib.py b/test_tablib.py index 02a1eb3..fbb6eab 100755 --- a/test_tablib.py +++ b/test_tablib.py @@ -669,5 +669,20 @@ Old |Man |100500 ) + def test_databook_add_sheet_accepts_dataset_subclasses(self): + class DatasetSubclass(tablib.Dataset): + pass + + # just checking if subclass of tablib.Dataset can be added to Databook + dataset = DatasetSubclass() + dataset.append(self.john) + dataset.append(self.tom) + + try: + book.add_sheet(dataset) + except tablib.InvalidDatasetType: + self.fail("Subclass of tablib.Dataset should be accepted by Databook.add_sheet") + + if __name__ == '__main__': unittest.main()