From 32d35f2fcdd85f65ea38eb16b772de503f8d4107 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 30 Aug 2014 10:54:02 +0100 Subject: Ignore separators in footnotes XML --- mammoth/docx/footnotes_xml.py | 16 +++++++++------- mammoth/lists.py | 3 +++ 2 files changed, 12 insertions(+), 7 deletions(-) (limited to 'mammoth') diff --git a/mammoth/docx/footnotes_xml.py b/mammoth/docx/footnotes_xml.py index c5ea746..1c596ab 100644 --- a/mammoth/docx/footnotes_xml.py +++ b/mammoth/docx/footnotes_xml.py @@ -1,15 +1,17 @@ -#~ from .. import documents -#~ from .. import results from .. import lists -#~ from .xmlparser import node_types -#~ + def read_footnotes_xml_element(element): - return lists.map( - _read_footnote_element, + footnote_elements = lists.filter( + _is_footnote_element, element.find_children("w:footnote"), ) - + return lists.map(_read_footnote_element, footnote_elements) + + +def _is_footnote_element(element): + return element.attributes.get("w:type") not in ["continuationSeparator", "separator"] + def _read_footnote_element(element): return FootnoteElement(element.attributes["w:id"], element.children) diff --git a/mammoth/lists.py b/mammoth/lists.py index 28889a9..cf39b99 100644 --- a/mammoth/lists.py +++ b/mammoth/lists.py @@ -17,7 +17,10 @@ def _collect(values, result): if sys.version_info[0] == 2: map = map + filter = filter else: import builtins def map(*args, **kwargs): return list(builtins.map(*args, **kwargs)) + def filter(*args, **kwargs): + return list(builtins.filter(*args, **kwargs)) -- cgit v1.2.3