[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