summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxando <sebastian.pawlus@gmail.com>2012-05-16 16:56:53 +0100
committerxando <sebastian.pawlus@gmail.com>2012-05-16 17:22:14 +0100
commiteda9d5af0347e89787aeee27d3fcde0531c8d2c5 (patch)
tree1c9cc1db4230571e8896a76e3f705f0eaae5614a
parente8c923d7121da21cb96eedd68710c37f5c9b471f (diff)
downloadtablib-eda9d5af0347e89787aeee27d3fcde0531c8d2c5.tar.gz
Generic method import_book (similar to import_set) to import data into Databook model.
-rw-r--r--tablib/__init__.py2
-rw-r--r--tablib/core.py13
2 files changed, 14 insertions, 1 deletions
diff --git a/tablib/__init__.py b/tablib/__init__.py
index ec8467e..65d1e13 100644
--- a/tablib/__init__.py
+++ b/tablib/__init__.py
@@ -1,7 +1,7 @@
""" Tablib. """
from tablib.core import (
- Databook, Dataset, detect, import_set,
+ Databook, Dataset, detect, import_set, import_book,
InvalidDatasetType, InvalidDimensions, UnsupportedFormat,
__version__
)
diff --git a/tablib/core.py b/tablib/core.py
index c52671e..1fdc77c 100644
--- a/tablib/core.py
+++ b/tablib/core.py
@@ -1008,6 +1008,19 @@ def import_set(stream):
return None
+def import_book(stream):
+ """Return dataset of given stream."""
+ (format, stream) = detect(stream)
+
+ try:
+ databook = Databook()
+ format.import_book(databook, stream)
+ return databook
+
+ except AttributeError:
+ return None
+
+
class InvalidDatasetType(Exception):
"Only Datasets can be added to a DataBook"