From ef76dd48d78fc715ce428e07cec2401b3bfbee74 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 5 Aug 2014 16:36:15 +0100 Subject: Add support for reading w:br --- mammoth/documents.py | 2 ++ mammoth/docx/document_xml.py | 9 +++++++++ 2 files changed, 11 insertions(+) (limited to 'mammoth') diff --git a/mammoth/documents.py b/mammoth/documents.py index 4f67850..326fbeb 100644 --- a/mammoth/documents.py +++ b/mammoth/documents.py @@ -9,6 +9,7 @@ Hyperlink = dodge.data_class("Hyperlink", ["href", "children"]) Table = dodge.data_class("Table", ["children"]) TableRow = dodge.data_class("TableRow", ["children"]) TableCell = dodge.data_class("TableCell", ["children"]) +LineBreak = dodge.data_class("LineBreak", []) class Tab(object): pass @@ -42,6 +43,7 @@ hyperlink = Hyperlink table = Table table_row = TableRow table_cell = TableCell +line_break = LineBreak def numbering_level(level_index, is_ordered): return _NumberingLevel(str(level_index), bool(is_ordered)) diff --git a/mammoth/docx/document_xml.py b/mammoth/docx/document_xml.py index 32d655c..f96098e 100644 --- a/mammoth/docx/document_xml.py +++ b/mammoth/docx/document_xml.py @@ -159,6 +159,15 @@ def _create_reader(numbering, content_types, relationships, styles, docx_file): href = relationships[relationship_id].target return children_result.map(lambda children: documents.hyperlink(href, children)) + @handler("w:br") + def br(element): + break_type = element.attributes.get("w:type") + if break_type: + warning = results.warning("Unsupported break type: {0}".format(break_type)) + return results.Result(None, [warning]) + else: + return results.success(documents.line_break()) + @handler("wp:inline") @handler("wp:anchor") def inline(element): -- cgit v1.2.3