From 3811724b567f53dc02276ab0f4c890f640d56d0c Mon Sep 17 00:00:00 2001 From: dkuhlman Date: Mon, 25 Oct 2010 21:46:13 +0000 Subject: [PATCH] Added code to copy images from stylesheet (styles.odt) to target doc. git-svn-id: https://docutils.svn.sourceforge.net/svnroot/docutils/trunk/docutils@6452 929543f6-e4f2-0310-98a6-ba3bd3dd1d04 --- docutils/writers/odf_odt/__init__.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/docutils/writers/odf_odt/__init__.py b/docutils/writers/odf_odt/__init__.py index 996947e28..4a6cf0e48 100644 --- a/docutils/writers/odf_odt/__init__.py +++ b/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 -- 2.11.4.GIT