[Python-modules-commits] [python-odf] 13/118: Plugins for Trac
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 54a0c75d9fc3915b6686745cdcddd7256ca0f7f5
Author: Søren Roug <soren.roug at eea.europa.eu>
Date: Tue Nov 25 21:30:18 2008 +0000
Plugins for Trac
---
contrib/odfrenderer/0.10/odfrenderer/__init__.py | 1 +
.../odfrenderer/0.10/odfrenderer/odfrenderer.py | 52 ++++++++++++++++++++++
contrib/odfrenderer/0.10/setup.py | 13 ++++++
contrib/odftohtmlplugin/0.10/odftohtml/__init__.py | 1 +
.../odftohtmlplugin/0.10/odftohtml/odftohtml.py | 22 +++++++++
contrib/odftohtmlplugin/0.10/setup.py | 13 ++++++
6 files changed, 102 insertions(+)
diff --git a/contrib/odfrenderer/0.10/odfrenderer/__init__.py b/contrib/odfrenderer/0.10/odfrenderer/__init__.py
new file mode 100644
index 0000000..9dfb7c5
--- /dev/null
+++ b/contrib/odfrenderer/0.10/odfrenderer/__init__.py
@@ -0,0 +1 @@
+from odfrenderer import *
diff --git a/contrib/odfrenderer/0.10/odfrenderer/odfrenderer.py b/contrib/odfrenderer/0.10/odfrenderer/odfrenderer.py
new file mode 100644
index 0000000..cd87478
--- /dev/null
+++ b/contrib/odfrenderer/0.10/odfrenderer/odfrenderer.py
@@ -0,0 +1,52 @@
+from trac.core import *
+from trac.mimeview.api import IHTMLPreviewRenderer
+import os
+from tempfile import mkstemp
+from odf.odf2xhtml import ODF2XHTML
+
+class OdfRenderer(Component):
+ """Display OpenDocument as HTML."""
+ implements(IHTMLPreviewRenderer)
+
+ def get_quality_ratio(self, mimetype):
+ self.env.log.debug('Trac checking for %s' % mimetype)
+ if mimetype in ('application/vnd.oasis.opendocument.text',
+ 'application/vnd.oasis.opendocument.text-template',
+ 'application/vnd.oasis.opendocument.spreadsheet',
+ 'application/vnd.oasis.opendocument.presentation'):
+ return 7
+ return 0
+
+ def render(self, req, input_type, content, filename=None, url=None):
+ self.env.log.debug('HTML output for ODF')
+ odhandler = ODF2XHTML()
+ 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)
+ if out != '':
+ return out
+ return "<h1>HTML preview failed</h1>"
+
+# def render(self, req, input_type, content, filename=None, url=None):
+# self.env.log.debug('HTML output for ODF')
+# hfilename = None
+# odhandler = ODF2XHTML()
+# if filename is not None:
+# infile = filename
+# else:
+# hfile, hfilename = mkstemp('tracodf')
+# if hasattr(content,'read'):
+# os.write(hfile, content.read())
+# else:
+# os.write(hfile, content)
+# os.close(hfile)
+# infile = hfilename
+# out = odhandler.odf2xhtml(infile).encode('us-ascii','xmlcharrefreplace')
+# if hfilename is not None:
+# os.unlink(hfilename)
+# return out
diff --git a/contrib/odfrenderer/0.10/setup.py b/contrib/odfrenderer/0.10/setup.py
new file mode 100644
index 0000000..a12405e
--- /dev/null
+++ b/contrib/odfrenderer/0.10/setup.py
@@ -0,0 +1,13 @@
+from setuptools import setup
+
+PACKAGE = 'OdfRenderer'
+VERSION = '0.1'
+
+setup(name='OdfRenderer',
+ version='0.1',
+ packages=['odfrenderer'],
+ author='Soren Roug',
+ author_email='soren.roug at eea.europa.eu',
+ description='A plugin for viewing ODF pages as HTML',
+ url='http://trac-hacks.org/wiki/OdfRenderer',
+ entry_points={'trac.plugins': ['odfrenderer.odfrenderer=odfrenderer.odfrenderer']})
diff --git a/contrib/odftohtmlplugin/0.10/odftohtml/__init__.py b/contrib/odftohtmlplugin/0.10/odftohtml/__init__.py
new file mode 100644
index 0000000..6dc51bf
--- /dev/null
+++ b/contrib/odftohtmlplugin/0.10/odftohtml/__init__.py
@@ -0,0 +1 @@
+from odftohtml import *
diff --git a/contrib/odftohtmlplugin/0.10/odftohtml/odftohtml.py b/contrib/odftohtmlplugin/0.10/odftohtml/odftohtml.py
new file mode 100644
index 0000000..272e2d5
--- /dev/null
+++ b/contrib/odftohtmlplugin/0.10/odftohtml/odftohtml.py
@@ -0,0 +1,22 @@
+from trac.core import *
+from trac.mimeview.api import IContentConverter
+import os
+import re
+from odf.odf2xhtml import ODF2XHTML
+
+class OdfToHtmlConverter(Component):
+ """Convert OpenDocument to HTML."""
+ implements(IContentConverter)
+
+ # IContentConverter methods
+ def get_supported_conversions(self):
+ yield ('odt', 'OpenDocument Text', 'odt', 'application/vnd.oasis.opendocument.text', 'text/html', 7)
+ yield ('ott', 'OpenDocument Text', 'ott', 'application/vnd.oasis.opendocument.text-template', 'text/html', 7)
+ yield ('ods', 'OpenDocument Spreadsheet', 'ods', 'application/vnd.oasis.opendocument.spreadsheet', 'text/html', 7)
+ yield ('odp', 'OpenDocument Presentation', 'odp', 'application/vnd.oasis.opendocument.presentation', 'text/html', 7)
+
+ def convert_content(self, req, input_type, source, output_type):
+ odhandler = ODF2XHTML()
+ out = odhandler.odf2xhtml(source).encode('us-ascii','xmlcharrefreplace')
+ self.env.log.debug('HTML output for ODF')
+ return (out, 'text/html')
diff --git a/contrib/odftohtmlplugin/0.10/setup.py b/contrib/odftohtmlplugin/0.10/setup.py
new file mode 100644
index 0000000..917e40e
--- /dev/null
+++ b/contrib/odftohtmlplugin/0.10/setup.py
@@ -0,0 +1,13 @@
+from setuptools import setup
+
+PACKAGE = 'OdfToHtml'
+VERSION = '0.1'
+
+setup(name='OdfToHtml',
+ version='0.1',
+ packages=['odftohtml'],
+ author='Soren Roug',
+ author_email='soren.roug at eea.europa.eu',
+ description='A plugin for viewing ODF pages as HTML',
+ url='http://trac-hacks.org/wiki/OdfToHtmlConverter',
+ entry_points={'trac.plugins': ['odftohtml.odftohtml=odftohtml.odftohtml']})
--
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