summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Reitz <me@kennethreitz.org>2016-04-10 18:12:37 -0400
committerKenneth Reitz <me@kennethreitz.org>2016-04-10 18:12:37 -0400
commit75bbfbbaf467d220630df44b1f87454785b35b70 (patch)
tree922a9a693b8d4f4ed9535b75b3e2d658d06a7c73
parentb35d5056213e695090dbb0e2559c4df79ae75936 (diff)
parent8cf6770a76046f104c09d65b3bfba4a2853484d8 (diff)
downloadtablib-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.py15
-rwxr-xr-xtest_tablib.py1
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."""