[Python-modules-commits] [python-odf] 15/118: Move embedable to library
Wolfgang Borgert
debacle at moszumanska.debian.org
Fri Oct 3 21:27:17 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 5d01a1135ac738c4df19d61178af9060b1989cb0
Author: Søren Roug <soren.roug at eea.europa.eu>
Date: Fri Dec 5 20:22:31 2008 +0000
Move embedable to library
---
contrib/ODFFile/Makefile | 2 +-
contrib/ODFFile/ODFFile.py | 13 ++-------
.../odfrenderer/0.10/odfrenderer/odfrenderer.py | 14 +++-------
odf/odf2xhtml.py | 31 +++++++++++++---------
odf2xhtml/odf2xhtml | 7 +++--
5 files changed, 31 insertions(+), 36 deletions(-)
diff --git a/contrib/ODFFile/Makefile b/contrib/ODFFile/Makefile
index dbf640d..737936e 100644
--- a/contrib/ODFFile/Makefile
+++ b/contrib/ODFFile/Makefile
@@ -1,6 +1,6 @@
odf:
- ln -s ../odf
+ ln -s ../../odf
clean:
rm -f odf
diff --git a/contrib/ODFFile/ODFFile.py b/contrib/ODFFile/ODFFile.py
index de18060..a651708 100644
--- a/contrib/ODFFile/ODFFile.py
+++ b/contrib/ODFFile/ODFFile.py
@@ -40,15 +40,6 @@ class ODF2XHTMLBody(ODF2XHTML):
imghref = imghref.replace("Pictures/","index_html?pict=")
return imghref
-class ODF2XHTMLEmbedded(ODF2XHTMLBody):
-
- def __init__(self):
- ODF2XHTML.__init__(self)
- 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)
-
manage_addODFFileForm=DTMLFile('dtml/odffileAdd', globals())
def manage_addODFFile(self, id='', file='',title='', precondition='', content_type='', conversion='embedded',
@@ -202,9 +193,9 @@ class ODFFile(File):
if self.size == 0:
return
if self.conversion == 'embedded':
- odhandler = ODF2XHTMLEmbedded()
+ odhandler = ODF2XHTMLBody(embedable=True)
else:
- odhandler = ODF2XHTMLBody()
+ odhandler = ODF2XHTMLBody(embedable=False)
fd = StringIO(str(self.data))
self._save_pictures(fd)
fd.seek(0)
diff --git a/contrib/odfrenderer/0.10/odfrenderer/odfrenderer.py b/contrib/odfrenderer/0.10/odfrenderer/odfrenderer.py
index f9677ba..0147476 100644
--- a/contrib/odfrenderer/0.10/odfrenderer/odfrenderer.py
+++ b/contrib/odfrenderer/0.10/odfrenderer/odfrenderer.py
@@ -7,19 +7,13 @@ from odf.odf2xhtml import ODF2XHTML
class ODF2XHTMLBody(ODF2XHTML):
+ def __init__(self):
+ ODF2XHTML.__init__(self, generate_css=False, embedable=True)
+
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)
@@ -35,7 +29,7 @@ class OdfRenderer(Component):
def render(self, req, input_type, content, filename=None, url=None):
self.env.log.debug('HTML output for ODF')
- odhandler = ODF2XHTMLEmbedded()
+ odhandler = ODF2XHTMLBody()
hfile, hfilename = mkstemp('tracodf')
try:
if hasattr(content,'read'):
diff --git a/odf/odf2xhtml.py b/odf/odf2xhtml.py
index d6510ab..b082691 100644
--- a/odf/odf2xhtml.py
+++ b/odf/odf2xhtml.py
@@ -206,10 +206,10 @@ class StyleToCSS:
if hpos == "center":
sdict['margin-left'] = "auto"
sdict['margin-right'] = "auto"
- else:
- # force it to be *something* then delete it
- sdict['margin-left'] = sdict['margin-right'] = ''
- del sdict['margin-left'], sdict['margin-right']
+# else:
+# # force it to be *something* then delete it
+# sdict['margin-left'] = sdict['margin-right'] = ''
+# del sdict['margin-left'], sdict['margin-right']
if hpos in ("right","outside"):
if wrap in ( "left", "parallel","dynamic"):
@@ -336,7 +336,7 @@ special_styles = {
class ODF2XHTML(handler.ContentHandler):
""" The ODF2XHTML parses an ODF file and produces XHTML"""
- def __init__(self, generate_css = True):
+ def __init__(self, generate_css=True, embedable=False):
# Tags
self.generate_css = generate_css
self.elements = {
@@ -423,6 +423,12 @@ class ODF2XHTML(handler.ContentHandler):
(TEXTNS, "table-of-content-source"):(self.s_text_x_source, self.e_text_x_source),
(TEXTNS, "user-index-source"):(self.s_text_x_source, self.e_text_x_source),
}
+ if embedable:
+ 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)
+
def writeout(self, s):
if s != '':
@@ -550,17 +556,17 @@ class ODF2XHTML(handler.ContentHandler):
""" A <draw:frame> is made into a <div> in HTML which is then styled
"""
anchor_type = attrs.get((TEXTNS,'anchor-type'),'char')
- htmltag = 'object'
+ htmltag = 'div'
name = "G-" + attrs.get( (DRAWNS,'style-name'), "")
if name == 'G-':
name = "PR-" + attrs.get( (PRESENTATIONNS,'style-name'), "")
name = name.replace(".","_")
if anchor_type == "paragraph":
- style = 'position: relative;'
+ style = 'position:relative;'
elif anchor_type == 'char':
- style = "position: relative;"
+ style = "position:relative;"
elif anchor_type == 'as-char':
- htmltag = 'object'
+ htmltag = 'div'
style = ''
else:
style = "position: absolute;"
@@ -580,7 +586,7 @@ class ODF2XHTML(handler.ContentHandler):
def e_draw_frame(self, tag, attrs):
""" End the <draw:frame>
"""
- self.closetag('object')
+ self.closetag('div')
def s_draw_fill_image(self, tag, attrs):
name = attrs.get( (DRAWNS,'name'), "NoName")
@@ -632,7 +638,8 @@ class ODF2XHTML(handler.ContentHandler):
style = ''
if attrs.has_key( (FONS,"min-height") ):
style = style + "min-height:" + attrs[(FONS,"min-height")] + ";"
- self.opentag('div', {'style': style})
+ self.opentag('div')
+# self.opentag('div', {'style': style})
def e_draw_textbox(self, tag, attrs):
""" End the <draw:text-box>
@@ -645,7 +652,7 @@ class ODF2XHTML(handler.ContentHandler):
self.opentag('style', {'type':"text/css"}, True)
self.writeout('/*<![CDATA[*/\n')
self.writeout('\nimg { width: 100%; height: 100%; }\n')
- self.writeout('* { padding: 0; margin: 0; }\n')
+ self.writeout('* { padding: 0; margin: 0; background-color:white; }\n')
self.writeout('body { margin: 0 1em; }\n')
self.writeout('ol, ul { padding-left: 2em; }\n')
self.generate_stylesheet()
diff --git a/odf2xhtml/odf2xhtml b/odf2xhtml/odf2xhtml
index f7b884e..9dc2cce 100755
--- a/odf2xhtml/odf2xhtml
+++ b/odf2xhtml/odf2xhtml
@@ -29,21 +29,24 @@ def usage():
sys.stderr.write("Usage: %s [-p] inputfile\n" % sys.argv[0])
try:
- opts, args = getopt.getopt(sys.argv[1:], "p", ["plain"])
+ opts, args = getopt.getopt(sys.argv[1:], "ep", ["plain","embedable"])
except getopt.GetoptError:
usage()
sys.exit(2)
generatecss = True
+embedable = False
for o, a in opts:
if o in ("-p", "--plain"):
generatecss = False
+ if o in ("-e", "--embedable"):
+ embedable = True
if len(args) != 1:
usage()
sys.exit(2)
-odhandler = ODF2XHTML(generatecss)
+odhandler = ODF2XHTML(generatecss, embedable)
try:
result = odhandler.odf2xhtml(args[0]).encode('us-ascii','xmlcharrefreplace')
except:
--
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