diff options
Diffstat (limited to 'mammoth/transforms.py')
| -rw-r--r-- | mammoth/transforms.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/mammoth/transforms.py b/mammoth/transforms.py index 6eb6d92..88db8a1 100644 --- a/mammoth/transforms.py +++ b/mammoth/transforms.py @@ -20,3 +20,22 @@ def _each_element(transform_element): return transform_element(element) return transform_element_and_children + + +def get_descendants(element): + descendants = [] + + def visit(element): + descendants.append(element) + + _visit_descendants(element, visit) + + return descendants + + +def _visit_descendants(element, visit): + if isinstance(element, documents.HasChildren): + for child in element.children: + _visit_descendants(child, visit) + visit(child) + |
