diff options
| author | Michael Williamson <mike@zwobble.org> | 2021-08-01 11:10:49 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2021-08-01 11:10:49 +0100 |
| commit | 9bfd99948361000c6432691c5b37c95127c53737 (patch) | |
| tree | b0db98a7fda5b4a5d9f782a81be527493ad891f6 | |
| parent | 822cc689ce44b1c43ac118b2a13c6d0024d2e194 (diff) | |
Convert tab elements to tab characters
| -rw-r--r-- | NEWS | 4 | ||||
| -rw-r--r-- | mammoth/raw_text.py | 2 | ||||
| -rw-r--r-- | tests/raw_text_tests.py | 9 |
3 files changed, 15 insertions, 0 deletions
@@ -1,3 +1,7 @@ +# 1.4.17 + +* When extracting raw text, convert tab elements to tab characters. + # 1.4.16 * Handle w:num with invalid w:abstractNumId. diff --git a/mammoth/raw_text.py b/mammoth/raw_text.py index ccf50ed..5ffe59f 100644 --- a/mammoth/raw_text.py +++ b/mammoth/raw_text.py @@ -4,6 +4,8 @@ from . import documents def extract_raw_text_from_element(element): if isinstance(element, documents.Text): return element.value + elif isinstance(element, documents.Tab): + return "\t" else: text = "".join(map(extract_raw_text_from_element, getattr(element, "children", []))) if isinstance(element, documents.Paragraph): diff --git a/tests/raw_text_tests.py b/tests/raw_text_tests.py index 46602e7..7dd44a0 100644 --- a/tests/raw_text_tests.py +++ b/tests/raw_text_tests.py @@ -14,6 +14,15 @@ def text_element_is_converted_to_text_content(): @istest +def tab_element_is_converted_to_tab_character(): + element = documents.tab() + + result = extract_raw_text_from_element(element) + + assert_equal("\t", result) + + +@istest def paragraphs_are_terminated_with_newlines(): element = documents.paragraph( children=[ |
