aboutsummaryrefslogtreecommitdiff
path: root/mammoth/docx/comments_xml.py
diff options
context:
space:
mode:
Diffstat (limited to 'mammoth/docx/comments_xml.py')
-rw-r--r--mammoth/docx/comments_xml.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/mammoth/docx/comments_xml.py b/mammoth/docx/comments_xml.py
new file mode 100644
index 0000000..9a92552
--- /dev/null
+++ b/mammoth/docx/comments_xml.py
@@ -0,0 +1,19 @@
+from .. import lists
+from .. import documents
+from .. import results
+
+
+def create_comments_reader(body_reader):
+ def read_comments_xml_element(element):
+ comment_elements = element.find_children("w:comment")
+ return results.combine(lists.map(_read_comment_element, comment_elements))
+
+
+ def _read_comment_element(element):
+ return body_reader.read_all(element.children).map(lambda body:
+ documents.comment(
+ comment_id=element.attributes["w:id"],
+ body=body
+ ))
+
+ return read_comments_xml_element