summaryrefslogtreecommitdiff
path: root/docutils
diff options
context:
space:
mode:
authordkuhlman <dkuhlman@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2010-10-25 21:46:13 +0000
committerdkuhlman <dkuhlman@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2010-10-25 21:46:13 +0000
commitff3b442736b6ea5672e5323a80ee2cb55908e94b (patch)
treef66698d5596c880a1a1dc79e9876e662fd16b63c /docutils
parent159bad6d5b7aa801d69a7fc45202ef8be32121f1 (diff)
downloaddocutils-ff3b442736b6ea5672e5323a80ee2cb55908e94b.tar.gz
Added code to copy images from stylesheet (styles.odt) to target doc.
git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk@6452 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
Diffstat (limited to 'docutils')
-rw-r--r--docutils/docutils/writers/odf_odt/__init__.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/docutils/docutils/writers/odf_odt/__init__.py b/docutils/docutils/writers/odf_odt/__init__.py
index 996947e28..4a6cf0e48 100644
--- a/docutils/docutils/writers/odf_odt/__init__.py
+++ b/docutils/docutils/writers/odf_odt/__init__.py
@@ -560,9 +560,8 @@ class Writer(writers.Writer):
self.write_zip_str(zfile, 'meta.xml', s1)
s1 = self.get_stylesheet()
self.write_zip_str(zfile, 'styles.xml', s1)
- s1 = self.get_settings()
- self.write_zip_str(zfile, 'settings.xml', s1)
self.store_embedded_files(zfile)
+ self.copy_from_stylesheet(zfile)
zfile.close()
f.seek(0)
whole = f.read()
@@ -609,6 +608,22 @@ class Writer(writers.Writer):
s1 = self.visitor.setup_page()
return s1
+ def copy_from_stylesheet(self, outzipfile):
+ """Copy images, settings, etc from the stylesheet doc into target doc.
+ """
+ stylespath = self.settings.stylesheet
+ inzipfile = zipfile.ZipFile(stylespath, 'r')
+ # Copy the styles.
+ s1 = inzipfile.read('settings.xml')
+ self.write_zip_str(outzipfile, 'settings.xml', s1)
+ # Copy the images.
+ namelist = inzipfile.namelist()
+ for name in namelist:
+ if name.startswith('Pictures/'):
+ imageobj = inzipfile.read(name)
+ outzipfile.writestr(name, imageobj, zipfile.ZIP_STORED)
+ inzipfile.close()
+
def assemble_parts(self):
pass