summaryrefslogtreecommitdiff
path: root/tablib/formats/_yaml.py
diff options
context:
space:
mode:
authorKenneth Reitz <me@kennethreitz.com>2010-09-25 17:18:51 -0400
committerKenneth Reitz <me@kennethreitz.com>2010-09-25 17:18:51 -0400
commit9f26c23eb50f6d00e04b4fe4bd5e5e98b512cfbe (patch)
tree043f062e3eeb93939ec368dcd8c40b0e63b418a8 /tablib/formats/_yaml.py
parentdc21825f346e2c422c7a3ebc180cce62726aaaa7 (diff)
parent8136f4b09eac5ed160fd49ec70f2c1338df6ec8d (diff)
downloadtablib-0.8.0.tar.gz
Merge branch 'release/0.8.0'v0.8.0
Diffstat (limited to 'tablib/formats/_yaml.py')
-rw-r--r--tablib/formats/_yaml.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/tablib/formats/_yaml.py b/tablib/formats/_yaml.py
new file mode 100644
index 0000000..4cac8aa
--- /dev/null
+++ b/tablib/formats/_yaml.py
@@ -0,0 +1,42 @@
+# -*- coding: utf-8 -*-
+
+""" Tablib - YAML Support.
+"""
+
+import yaml
+import tablib
+
+
+
+title = 'yaml'
+extentions = ('yaml', 'yml')
+
+
+
+def export_set(dataset):
+ """Returns YAML representation of Dataset."""
+ return yaml.dump(dataset.dict)
+
+
+def export_book(databook):
+ """Returns YAML representation of Databook."""
+ return yaml.dump(databook._package())
+
+
+def import_set(dset, in_stream):
+ """Returns dataset from YAML stream."""
+
+ dset.wipe()
+ dset.dict = yaml.load(in_stream)
+
+
+def import_book(dbook, in_stream):
+ """Returns databook from YAML stream."""
+
+ dbook.wipe()
+
+ for sheet in yaml.load(in_stream):
+ data = tablib.core.Dataset()
+ data.title = sheet['title']
+ data.dict = sheet['data']
+ dbook.add_sheet(data) \ No newline at end of file