summaryrefslogtreecommitdiff
path: root/tablib
diff options
context:
space:
mode:
authorKenneth Reitz <me@kennethreitz.com>2010-09-13 17:22:02 -0400
committerKenneth Reitz <me@kennethreitz.com>2010-09-13 17:22:02 -0400
commit9ecc57dbf703f9c95b3ebf872f436c8162796b4e (patch)
tree604ea262392eb2766f1cd4997a6cbf453ae14a2b /tablib
parenta7471f7302ab6fba0740198c203d9af4efe8c837 (diff)
downloadtablib-9ecc57dbf703f9c95b3ebf872f436c8162796b4e.tar.gz
Added header property to prevent invalid headers being set.
Diffstat (limited to 'tablib')
-rw-r--r--tablib/core.py21
1 files changed, 18 insertions, 3 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."""