diff options
Diffstat (limited to 'tablib/formats/_yaml.py')
| -rw-r--r-- | tablib/formats/_yaml.py | 42 |
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 |
