[Erp5-report] r39049 nicolas - /erp5/trunk/products/ERP5OOo/transforms/

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Oct 12 11:43:13 CEST 2010


Author: nicolas
Date: Tue Oct 12 11:43:10 2010
New Revision: 39049

URL: http://svn.erp5.org?rev=39049&view=rev
Log:
Conversion from html to odt was working only by chance.
because convertToBaseFormat was not able to import html.
Now OOoDocument is able to successfully convertToBaseFormat html content (or any other),
thanks to content_type parameter which is now given to conversion tool.
Previous implementation was storing html content into
base_data instead of data, but convertToBaseFormat was never called.

* The method convert on oood_commandtransform was useless.
* Call convertToBaseFormat once temp_document is created



Modified:
    erp5/trunk/products/ERP5OOo/transforms/html_to_odt.py
    erp5/trunk/products/ERP5OOo/transforms/odt_to_doc.py
    erp5/trunk/products/ERP5OOo/transforms/odt_to_pdf.py
    erp5/trunk/products/ERP5OOo/transforms/odt_to_xml.py
    erp5/trunk/products/ERP5OOo/transforms/oood_commandtransform.py

Modified: erp5/trunk/products/ERP5OOo/transforms/html_to_odt.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/transforms/html_to_odt.py?rev=39049&r1=39048&r2=39049&view=diff
==============================================================================
--- erp5/trunk/products/ERP5OOo/transforms/html_to_odt.py [utf8] (original)
+++ erp5/trunk/products/ERP5OOo/transforms/html_to_odt.py [utf8] Tue Oct 12 11:43:10 2010
@@ -45,7 +45,6 @@ class HTMLToOdt:
     orig = html.tostring(html_tree, encoding='utf-8')
 
     doc = OOOdCommandTransform(context, filename, orig, self.inputs[0])
-    doc.convert()
     odt = doc.convertTo('odt')
     if cache is not None:
       cache.setData(odt)

Modified: erp5/trunk/products/ERP5OOo/transforms/odt_to_doc.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/transforms/odt_to_doc.py?rev=39049&r1=39048&r2=39049&view=diff
==============================================================================
--- erp5/trunk/products/ERP5OOo/transforms/odt_to_doc.py [utf8] (original)
+++ erp5/trunk/products/ERP5OOo/transforms/odt_to_doc.py [utf8] Tue Oct 12 11:43:10 2010
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 from Products.PortalTransforms.interfaces import itransform
 from zope.interface import implements
 from oood_commandtransform import OOOdCommandTransform, OOoDocumentDataStream
@@ -28,7 +29,6 @@ class OdtToDoc:
   def convert(self, orig, data, cache=None, filename=None, context=None, **kwargs):
     data = str(orig)
     doc = OOOdCommandTransform(context, filename, data, self.inputs[0])
-    doc.convert()
     msword = doc.convertTo('doc')
     if cache is not None:
       cache.setData(msword)

Modified: erp5/trunk/products/ERP5OOo/transforms/odt_to_pdf.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/transforms/odt_to_pdf.py?rev=39049&r1=39048&r2=39049&view=diff
==============================================================================
--- erp5/trunk/products/ERP5OOo/transforms/odt_to_pdf.py [utf8] (original)
+++ erp5/trunk/products/ERP5OOo/transforms/odt_to_pdf.py [utf8] Tue Oct 12 11:43:10 2010
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 from Products.PortalTransforms.interfaces import itransform
 from zope.interface import implements
 from oood_commandtransform import OOOdCommandTransform, OOoDocumentDataStream
@@ -28,7 +29,6 @@ class OdtToPdf:
   def convert(self, orig, data, cache=None, filename=None, context=None, **kwargs):
     data = str(orig)
     doc = OOOdCommandTransform(context, filename, data, self.inputs[0])
-    doc.convert()
     pdf = doc.convertTo('pdf')
     if cache is not None:
       cache.setData(pdf)

Modified: erp5/trunk/products/ERP5OOo/transforms/odt_to_xml.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/transforms/odt_to_xml.py?rev=39049&r1=39048&r2=39049&view=diff
==============================================================================
--- erp5/trunk/products/ERP5OOo/transforms/odt_to_xml.py [utf8] (original)
+++ erp5/trunk/products/ERP5OOo/transforms/odt_to_xml.py [utf8] Tue Oct 12 11:43:10 2010
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 from Products.PortalTransforms.interfaces import itransform
 from zope.interface import implements
 from oood_commandtransform import OOOdCommandTransform, OOoDocumentDataStream
@@ -29,7 +30,6 @@ class OdtToXml:
   def convert(self, orig, data, cache=None, filename=None, context=None, **kwargs):
     data = str(orig)
     doc = OOOdCommandTransform(context, filename, data, self.inputs[0])
-    doc.convert()
     builder = OOoBuilder(doc)
     content = builder.extract('content.xml')
     if cache is not None:

Modified: erp5/trunk/products/ERP5OOo/transforms/oood_commandtransform.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/transforms/oood_commandtransform.py?rev=39049&r1=39048&r2=39049&view=diff
==============================================================================
--- erp5/trunk/products/ERP5OOo/transforms/oood_commandtransform.py [utf8] (original)
+++ erp5/trunk/products/ERP5OOo/transforms/oood_commandtransform.py [utf8] Tue Oct 12 11:43:10 2010
@@ -68,7 +68,14 @@ class OOOdCommandTransform(commandtransf
     self.context = context
     if self.mimetype == 'text/html':
       data = self.includeExternalCssList(data)
-    self.data = data
+    tmp_ooo = newTempOOoDocument(context, name)
+    tmp_ooo.edit( data=data,
+                  fname=self.name(),
+                  source_reference=self.name(),
+                  filename=self.name(),
+                  content_type=self.mimetype,)
+    tmp_ooo.convertToBaseFormat()
+    self.ooo = tmp_ooo
 
   def name(self):
     return self.__name__
@@ -186,18 +193,6 @@ class OOOdCommandTransform(commandtransf
     return etree.tostring(xml_doc, encoding='utf-8',
                           xml_declaration=False, pretty_print=False, )
 
-  def convert(self):
-    tmp_ooo = newTempOOoDocument(self.context, self.name())
-    # XXX We store the same content inside data and base_data
-    # otherwise conversion server fails to convert html=>odt for example.
-    # deeper investigation is required inside oood to understand this issue.
-    tmp_ooo.edit( base_data=self.data,
-                  fname=self.name(),
-                  source_reference=self.name(),
-                  base_content_type=self.mimetype,
-                  content_type=self.mimetype,)
-    self.ooo = tmp_ooo
-
   def convertTo(self, format):
     if self.ooo.isTargetFormatAllowed(format):
       mime, data = self.ooo.convert(format)




More information about the Erp5-report mailing list