diff options
| -rw-r--r-- | tablib/formats/_html.py | 8 | ||||
| -rwxr-xr-x | test_tablib.py | 20 |
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.""" |
