summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Reitz <me@kennethreitz.com>2010-09-25 15:56:20 -0400
committerKenneth Reitz <me@kennethreitz.com>2010-09-25 15:56:20 -0400
commita73bbe16450054e4238018a68f97319d1da60d8f (patch)
tree4d700e95d2404438056c03ac48d8ad9e9a1c2b71
parentf1bdf43aab2e6c6a2641fd52086918e3fa0e5b42 (diff)
downloadtablib-a73bbe16450054e4238018a68f97319d1da60d8f.tar.gz
Elegant databook importers.
-rw-r--r--tablib/formats/_json.py8
-rw-r--r--tablib/formats/_yaml.py9
2 files changed, 7 insertions, 10 deletions
diff --git a/tablib/formats/_json.py b/tablib/formats/_json.py
index d60cd21..c2dd524 100644
--- a/tablib/formats/_json.py
+++ b/tablib/formats/_json.py
@@ -24,14 +24,12 @@ def import_set(dset, in_stream):
dset.dict = json.loads(in_stream)
-def import_book(in_stream):
+def import_book(dbook, in_stream):
"""Returns databook from JSON stream."""
- book = tablib.core.Databook()
+ dbook.wipe()
for sheet in json.loads(in_stream):
data = tablib.core.Dataset()
data.title = sheet['title']
data.dict = sheet['data']
- book.add_sheet(data)
-
- return book \ No newline at end of file
+ dbook.add_sheet(data)
diff --git a/tablib/formats/_yaml.py b/tablib/formats/_yaml.py
index 74d9155..665e06d 100644
--- a/tablib/formats/_yaml.py
+++ b/tablib/formats/_yaml.py
@@ -25,14 +25,13 @@ def import_set(dset, in_stream):
dset.dict = yaml.load(in_stream)
-def import_book(in_stream):
+def import_book(dbook, in_stream):
"""Returns databook from YAML stream."""
- book = tablib.core.Databook()
+ dbook.wipe()
+
for sheet in yaml.load(in_stream):
data = tablib.core.Dataset()
data.title = sheet['title']
data.dict = sheet['data']
- book.add_sheet(data)
-
- return book \ No newline at end of file
+ dbook.add_sheet(data) \ No newline at end of file