summaryrefslogtreecommitdiff
path: root/mammoth/docx/footnotes_xml.py
blob: 1c596ab6469c391c4513bf28bd2c51c8970b9997 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from .. import lists


def read_footnotes_xml_element(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)


class FootnoteElement(object):
    def __init__(self, id, body):
        self.id = id
        self.body = body