From 6c0c5a0aea77387ea4873bee27e8df88f867002b Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 6 Jul 2014 17:29:23 +0100 Subject: Add conversion from document table to HTML table --- mammoth/conversion.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'mammoth/conversion.py') diff --git a/mammoth/conversion.py b/mammoth/conversion.py index a21a264..fa1333b 100644 --- a/mammoth/conversion.py +++ b/mammoth/conversion.py @@ -26,6 +26,9 @@ class DocumentConverter(object): documents.Text: self._convert_text, documents.Hyperlink: self._convert_hyperlink, documents.Tab: self._convert_tab, + documents.Table: self._convert_table, + documents.TableRow: self._convert_table_row, + documents.TableCell: self._convert_table_cell, documents.Image: convert_image or self._convert_image, } @@ -72,6 +75,30 @@ class DocumentConverter(object): html_generator.text("\t") + def _convert_table(self, table, html_generator): + html_generator.end_all() + html_generator.start("table") + self._convert_elements_to_html(table.children, html_generator) + html_generator.end() + + + def _convert_table_row(self, table_row, html_generator): + html_generator.start("tr") + self._convert_elements_to_html(table_row.children, html_generator) + html_generator.end() + + + def _convert_table_cell(self, table_cell, html_generator): + html_generator.start("td") + for child in table_cell.children: + child_generator = HtmlGenerator() + self.convert_element_to_html(child, child_generator) + child_generator.end_all() + html_generator.append(child_generator) + + html_generator.end() + + def _convert_image(self, image, html_generator): with image.open() as image_bytes: encoded_src = base64.b64encode(image_bytes.read()).decode("ascii") -- cgit v1.2.3