tabola / tablib / formats / _yaml.py

# -*- 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)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.