From 4c88820f3d4778e75a4be50f7a2d78d03dc86316 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 12 Sep 2015 16:06:21 +0100 Subject: Add reading and writing of embedded style maps --- mammoth/docx/style_map.py | 17 +++++++++++++++++ mammoth/zips.py | 6 ++++++ 2 files changed, 23 insertions(+) create mode 100644 mammoth/docx/style_map.py (limited to 'mammoth') diff --git a/mammoth/docx/style_map.py b/mammoth/docx/style_map.py new file mode 100644 index 0000000..2841830 --- /dev/null +++ b/mammoth/docx/style_map.py @@ -0,0 +1,17 @@ +from ..zips import open_zip + + +_style_map_path = "mammoth/style-map" + + +def write_style_map(fileobj, style_map): + with open_zip(fileobj, "a") as zip_file: + zip_file.write_str(_style_map_path, style_map) + + +def read_style_map(fileobj): + with open_zip(fileobj, "r") as zip_file: + if zip_file.exists(_style_map_path): + return zip_file.read_str(_style_map_path) + + diff --git a/mammoth/zips.py b/mammoth/zips.py index c6fe358..24c6b1c 100644 --- a/mammoth/zips.py +++ b/mammoth/zips.py @@ -26,3 +26,9 @@ class _Zip(object): return True except KeyError: return False + + def write_str(self, name, value): + self._zip_file.writestr(name, value) + + def read_str(self, name): + return self._zip_file.read(name).decode("utf8") -- cgit v1.2.3