summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tablib/formats/_html.py8
-rwxr-xr-xtest_tablib.py20
2 files changed, 26 insertions, 2 deletions
diff --git a/tablib/formats/_html.py b/tablib/formats/_html.py
index 485536c..ffde95f 100644
--- a/tablib/formats/_html.py
+++ b/tablib/formats/_html.py
@@ -30,13 +30,17 @@ 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]
+
page.thead.open()
- headers = markup.oneliner.th(dataset.headers)
+ headers = markup.oneliner.th(new_header)
page.tr(headers)
page.thead.close()
for row in dataset:
- html_row = markup.oneliner.td(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)
page.table.close()
diff --git a/test_tablib.py b/test_tablib.py
index d1cb16b..998233b 100755
--- a/test_tablib.py
+++ b/test_tablib.py
@@ -224,6 +224,26 @@ class TablibTestCase(unittest.TestCase):
self.assertEqual(html, self.founders.html)
+ def test_html_export_none_value(self):
+ """HTML export"""
+
+ html = markup.page()
+ html.table.open()
+ html.thead.open()
+
+ html.tr(markup.oneliner.th(['foo','', 'bar']))
+ html.thead.close()
+
+ html.tr(markup.oneliner.td(['foo','', 'bar']))
+
+ html.table.close()
+ html = str(html)
+
+ headers = ['foo', None, 'bar'];
+ d = tablib.Dataset(['foo', None, 'bar'], headers=headers)
+
+ self.assertEqual(html, d.html)
+
def test_unicode_append(self):
"""Passes in a single unicode charecter and exports."""