diff options
| author | Kenneth Reitz <me@kennethreitz.org> | 2016-04-10 18:12:37 -0400 |
|---|---|---|
| committer | Kenneth Reitz <me@kennethreitz.org> | 2016-04-10 18:12:37 -0400 |
| commit | 75bbfbbaf467d220630df44b1f87454785b35b70 (patch) | |
| tree | 922a9a693b8d4f4ed9535b75b3e2d658d06a7c73 | |
| parent | b35d5056213e695090dbb0e2559c4df79ae75936 (diff) | |
| parent | 8cf6770a76046f104c09d65b3bfba4a2853484d8 (diff) | |
| download | tablib-75bbfbbaf467d220630df44b1f87454785b35b70.tar.gz | |
Merge pull request #233 from ScorpionResponse/html_book_test
Add HTML format to the book_export test and fix the format to work properly
| -rw-r--r-- | tablib/formats/_html.py | 15 | ||||
| -rwxr-xr-x | test_tablib.py | 1 |
2 files changed, 10 insertions, 6 deletions
diff --git a/tablib/formats/_html.py b/tablib/formats/_html.py index 0b45f14..655e74c 100644 --- a/tablib/formats/_html.py +++ b/tablib/formats/_html.py @@ -31,7 +31,7 @@ def export_set(dataset): page.table.open() if dataset.headers is not None: - new_header = [item if item is not None else '' for item in dataset.headers] + new_header = [item if item is not None else '' for item in dataset.headers] page.thead.open() headers = markup.oneliner.th(new_header) @@ -39,7 +39,7 @@ def export_set(dataset): page.thead.close() for row in dataset: - new_row = [item if item is not None else '' for item in row] + new_row = [item if item is not None else '' for item in row] html_row = markup.oneliner.td(new_row) page.tr(html_row) @@ -58,10 +58,13 @@ def export_book(databook): stream = StringIO() + # Allow unicode characters in output + wrapper = codecs.getwriter("utf8")(stream) + for i, dset in enumerate(databook._datasets): title = (dset.title if dset.title else 'Set %s' % (i)) - stream.write('<%s>%s</%s>\n' % (BOOK_ENDINGS, title, BOOK_ENDINGS)) - stream.write(dset.html) - stream.write('\n') + wrapper.write('<%s>%s</%s>\n' % (BOOK_ENDINGS, title, BOOK_ENDINGS)) + wrapper.write(dset.html) + wrapper.write('\n') - return stream.getvalue() + return stream.getvalue().decode('utf-8') diff --git a/test_tablib.py b/test_tablib.py index 30bbacf..be41ee7 100755 --- a/test_tablib.py +++ b/test_tablib.py @@ -392,6 +392,7 @@ class TablibTestCase(unittest.TestCase): book.xls book.xlsx book.ods + book.html def test_json_import_set(self): """Generate and import JSON set serialization.""" |
