[Python-modules-commits] [python-odf] 14/118: Drop everything outside the body

Wolfgang Borgert debacle at moszumanska.debian.org
Fri Oct 3 21:27:16 UTC 2014


This is an automated email from the git hooks/post-receive script.

debacle pushed a commit to reference refs/remotes/upstream/master
in repository python-odf.

commit 6674770a8ef88c8a736d41474b3a51e56d3891bd
Author: Søren Roug <soren.roug at eea.europa.eu>
Date:   Wed Dec 3 21:17:45 2008 +0000

    Drop everything outside the body
---
 .../odfrenderer/0.10/odfrenderer/odfrenderer.py    | 36 +++++++++++++++++-----
 1 file changed, 28 insertions(+), 8 deletions(-)

diff --git a/contrib/odfrenderer/0.10/odfrenderer/odfrenderer.py b/contrib/odfrenderer/0.10/odfrenderer/odfrenderer.py
index cd87478..f9677ba 100644
--- a/contrib/odfrenderer/0.10/odfrenderer/odfrenderer.py
+++ b/contrib/odfrenderer/0.10/odfrenderer/odfrenderer.py
@@ -4,6 +4,22 @@ import os
 from tempfile import mkstemp
 from odf.odf2xhtml import ODF2XHTML
 
+
+class ODF2XHTMLBody(ODF2XHTML):
+
+    def rewritelink(self, imghref):
+        imghref = imghref.replace("Pictures/","index_html?pict=")
+        return imghref
+
+class ODF2XHTMLEmbedded(ODF2XHTMLBody):
+
+    def __init__(self):
+        ODF2XHTML.__init__(self, generate_css=False)
+        self.elements[(OFFICENS, u"text")] = (None,None)
+        self.elements[(OFFICENS, u"spreadsheet")] = (None,None)
+        self.elements[(OFFICENS, u"presentation")] = (None,None)
+        self.elements[(OFFICENS, u"document-content")] = (None,None)
+
 class OdfRenderer(Component):
     """Display OpenDocument as HTML."""
     implements(IHTMLPreviewRenderer)
@@ -19,15 +35,19 @@ class OdfRenderer(Component):
 
     def render(self, req, input_type, content, filename=None, url=None):
         self.env.log.debug('HTML output for ODF')
-        odhandler = ODF2XHTML()
+        odhandler = ODF2XHTMLEmbedded()
         hfile, hfilename = mkstemp('tracodf')
-        if hasattr(content,'read'):
-            os.write(hfile, content.read())
-        else:
-            os.write(hfile, content)
-        os.close(hfile)
-        out = odhandler.odf2xhtml(hfilename).encode('us-ascii','xmlcharrefreplace')
-        os.unlink(hfilename)
+        try:
+            if hasattr(content,'read'):
+                os.write(hfile, content.read())
+            else:
+                os.write(hfile, content)
+            os.close(hfile)
+            out = odhandler.odf2xhtml(hfilename).encode('us-ascii','xmlcharrefreplace')
+        except:
+            self.env.log.error("odf2xhtml failed")
+        finally:
+            os.unlink(hfilename)
         if out != '':
             return out
         return "<h1>HTML preview failed</h1>"

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-odf.git



More information about the Python-modules-commits mailing list