diff options
author | Iuri de Silvio <iurisilvio@gmail.com> | 2014-02-01 10:37:40 -0200 |
---|---|---|
committer | Iuri de Silvio <iurisilvio@gmail.com> | 2015-04-05 19:51:56 -0300 |
commit | 66d9e50984e7c66fd36fd86f2b469c2dae3636ba (patch) | |
tree | 59faaba6c4f722369039ec21bc4e2b897eec0284 /tablib/formats/_csv.py | |
parent | dc868eff31b66a4dcad354f3d8658cb9bac55a3a (diff) | |
download | tablib-import_export.tar.gz |
New import/export interface with dataset and databook `import_` and `export` methodsimport_export
and overloaded `import_set` and `import_book` functions.
Diffstat (limited to 'tablib/formats/_csv.py')
-rw-r--r-- | tablib/formats/_csv.py | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/tablib/formats/_csv.py b/tablib/formats/_csv.py index 7597395..7d29318 100644 --- a/tablib/formats/_csv.py +++ b/tablib/formats/_csv.py @@ -14,14 +14,14 @@ DEFAULT_ENCODING = 'utf-8' -def export_set(dataset): +def export_set(dataset, **kwargs): """Returns CSV representation of Dataset.""" stream = StringIO() - if is_py3: - _csv = csv.writer(stream) - else: - _csv = csv.writer(stream, encoding=DEFAULT_ENCODING) + if not is_py3: + kwargs.setdefault('encoding', DEFAULT_ENCODING) + + _csv = csv.writer(stream, **kwargs) for row in dataset._package(dicts=False): _csv.writerow(row) @@ -29,15 +29,15 @@ def export_set(dataset): return stream.getvalue() -def import_set(dset, in_stream, headers=True): +def import_set(dset, in_stream, headers=True, **kwargs): """Returns dataset from CSV stream.""" dset.wipe() - if is_py3: - rows = csv.reader(StringIO(in_stream)) - else: - rows = csv.reader(StringIO(in_stream), encoding=DEFAULT_ENCODING) + if not is_py3: + kwargs.setdefault('encoding', DEFAULT_ENCODING) + + rows = csv.reader(StringIO(in_stream), **kwargs) for i, row in enumerate(rows): if (i == 0) and (headers): |