[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