From 9ecc57dbf703f9c95b3ebf872f436c8162796b4e Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Mon, 13 Sep 2010 17:22:02 -0400 Subject: [PATCH] Added header property to prevent invalid headers being set. --- tablib/core.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/tablib/core.py b/tablib/core.py index f1dd3b6..c387031 100644 --- a/tablib/core.py +++ b/tablib/core.py @@ -18,7 +18,7 @@ import yaml from helpers import * -__all__ = ['Dataset', 'DataBook'] +# __all__ = ['Dataset', 'DataBook'] __name__ = 'tablib' __version__ = '0.6.1' @@ -36,6 +36,7 @@ class Dataset(object): self._saved_file = None self._saved_format = None self._data = list(args) + self.__headers = None try: self.headers = kwargs['headers'] @@ -119,8 +120,22 @@ class Dataset(object): try: return len(self._data[0]) except IndexError, why: - return 0 + try: + return len(self.headers) + except TypeError, e: + return 0 + + @property + def headers(self): + """Headers property.""" + return self.__headers + @headers.setter + def headers(self, collection): + """Validating headers setter.""" + self._validate(collection) + self.__headers = collection + @property def dict(self): """Returns python dict of Dataset."""