diff options
| author | Michael Williamson <mike@zwobble.org> | 2013-12-14 16:39:03 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2013-12-14 16:39:03 +0000 |
| commit | a6d9064bbb71653dc0f43898d0247e5344c30f6b (patch) | |
| tree | 7131d65da829b40e5da409c5569175ef47f1e935 | |
| parent | 996491337023abe6033c3caf76dfa4501bd27ce3 (diff) | |
Convert hyperlinks
| -rw-r--r-- | mammoth/conversion.py | 7 | ||||
| -rw-r--r-- | tests/conversion_tests.py | 8 |
2 files changed, 15 insertions, 0 deletions
diff --git a/mammoth/conversion.py b/mammoth/conversion.py index a4cf63b..9b57273 100644 --- a/mammoth/conversion.py +++ b/mammoth/conversion.py @@ -21,6 +21,7 @@ class DocumentConverter(object): documents.Paragraph: self._convert_paragraph, documents.Run: self._convert_run, documents.Text: self._convert_text, + documents.Hyperlink: self._convert_hyperlink, } @@ -54,6 +55,12 @@ class DocumentConverter(object): def _convert_text(self, text, html_generator): html_generator.text(text.value) + + + def _convert_hyperlink(self, hyperlink, html_generator): + html_generator.start("a", {"href": hyperlink.href}) + self._convert_elements_to_html(hyperlink.children, html_generator) + html_generator.end() def _convert_elements_to_html(self, elements, html_generator): diff --git a/tests/conversion_tests.py b/tests/conversion_tests.py index 174e5b5..c4dc719 100644 --- a/tests/conversion_tests.py +++ b/tests/conversion_tests.py @@ -101,5 +101,13 @@ def runs_are_converted_by_satisfying_matching_paths(): assert_equal('<span class="tip">Tip</span>', result.value) +@istest +def docx_hyperlink_is_converted_to_anchor_tag(): + result = convert_document_element_to_html( + documents.hyperlink(href="http://example.com", children=[documents.Text("Hello")]), + ) + assert_equal('<a href="http://example.com">Hello</a>', result.value) + + def _run_with_text(text): return documents.run(children=[documents.text(text)]) |
