From 8d44ad8a12bca0abf875606049f8793ada71a698 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Mon, 30 Aug 2010 02:32:57 -0400 Subject: [PATCH] YAML export support complete. --- tablib/core.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/tablib/core.py b/tablib/core.py index 53f4616..ddcd9a6 100644 --- a/tablib/core.py +++ b/tablib/core.py @@ -132,27 +132,31 @@ class Dataset(object): return len(self._data[0]) except KeyError, why: return 0 - + + def _package(self): + """Packages Dataset into lists of dictionaries for transmission.""" + if self.headers: + data = [dict(zip(self.headers, data_row)) for data_row in self ._data] + else: + data = [list(row) for row in self._data] + + return data + + @property def json(self): """Returns JSON representation of Dataset.""" data = [] - - if self.headers: -# for (i, header) in enumerate() - data = [dict(zip(self.headers, data_row)) for data_row in self ._data] - else: - data = self._data - return json.dumps(data) + return json.dumps(self._package()) @property def yaml(self): """Returns YAML representation of Dataset.""" - # TODO: YAML Export - pass + + return yaml.dump(self._package()) @property