diff options
Diffstat (limited to 'mammoth/transforms.py')
| -rw-r--r-- | mammoth/transforms.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/mammoth/transforms.py b/mammoth/transforms.py new file mode 100644 index 0000000..6eb6d92 --- /dev/null +++ b/mammoth/transforms.py @@ -0,0 +1,22 @@ +from . import documents + + +def paragraph(transform_paragraph): + def transform_element(element): + if isinstance(element, documents.Paragraph): + return transform_paragraph(element) + else: + return element + + return _each_element(transform_element) + + +def _each_element(transform_element): + def transform_element_and_children(element): + if isinstance(element, documents.HasChildren): + children = list(map(transform_element, element.children)) + element = element.copy(children=children) + + return transform_element(element) + + return transform_element_and_children |
