From 2cbb7baa6615835b7d4cb81dd2300569c0bafd4a Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 3 Dec 2013 18:02:13 +0000 Subject: Read default content types --- mammoth/docx/content_types_xml.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 mammoth/docx/content_types_xml.py (limited to 'mammoth') diff --git a/mammoth/docx/content_types_xml.py b/mammoth/docx/content_types_xml.py new file mode 100644 index 0000000..a2da8e0 --- /dev/null +++ b/mammoth/docx/content_types_xml.py @@ -0,0 +1,21 @@ +def read_content_types_xml_element(element): + extension_defaults = dict(map( + _read_default, + element.find_children("content-types:Default")) + ) + return ContentTypes(extension_defaults) + + +def _read_default(element): + extension = element.attributes["Extension"] + content_type = element.attributes["ContentType"] + return extension, content_type + + +class ContentTypes(object): + def __init__(self, extension_defaults): + self._extension_defaults = extension_defaults + + def find_content_type(self, path): + extension = path.rpartition(".")[2] + return self._extension_defaults.get(extension) -- cgit v1.2.3