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

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Mar 29 17:19:49 CEST 2011


Author: nicolas
Date: Tue Mar 29 17:19:49 2011
New Revision: 44734

URL: http://svn.erp5.org?rev=44734&view=rev
Log:
Refactor oood_command_transform to avoid instanciation
of Temp OOoDocument, because implicit conversion to base format
does not returns expected format (base conversion of html is html, not odt).

This patch consist into calling conversion server directly without pass Through
convert API of OOoDocument.

This patch is already absoleted and will be replaced by portal_data_adapters
as soon as it is implemented.


Modified:
    erp5/trunk/products/ERP5OOo/transforms/oood_commandtransform.py

Modified: erp5/trunk/products/ERP5OOo/transforms/oood_commandtransform.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/transforms/oood_commandtransform.py?rev=44734&r1=44733&r2=44734&view=diff
==============================================================================
--- erp5/trunk/products/ERP5OOo/transforms/oood_commandtransform.py [utf8] (original)
+++ erp5/trunk/products/ERP5OOo/transforms/oood_commandtransform.py [utf8] Tue Mar 29 17:19:49 2011
@@ -22,6 +22,13 @@ try:
 except ImportError:
   from cgi import parse_qsl
 
+
+# XXX Must be replaced by portal_data_adapters soon
+from Products.ERP5OOo.Document.OOoDocument import OOoServerProxy
+from Products.ERP5OOo.Document.OOoDocument import enc
+from Products.ERP5OOo.Document.OOoDocument import dec
+
+
 CLEAN_RELATIVE_PATH = re.compile('^../')
 
 class OOoDocumentDataStream:
@@ -67,12 +74,7 @@ class OOOdCommandTransform(commandtransf
     self.context = context
     if self.mimetype == 'text/html':
       data = self.includeExternalCssList(data)
-    tmp_ooo = newTempOOoDocument(context, str(id(self)))
-    tmp_ooo.edit( data=data,
-                  filename=self.name(),
-                  content_type=self.mimetype,)
-    tmp_ooo.convertToBaseFormat()
-    self.ooo = tmp_ooo
+    self.data = data
 
   def name(self):
     return self.__name__
@@ -194,8 +196,18 @@ class OOOdCommandTransform(commandtransf
                           xml_declaration=False, pretty_print=False, )
 
   def convertTo(self, format):
-    if self.ooo.isTargetFormatAllowed(format):
-      mime, data = self.ooo.convert(format)
+    server_proxy = OOoServerProxy(self.context)
+    response_code, response_dict, message = \
+                           server_proxy.getAllowedTargetItemList(self.mimetype)
+    allowed_extension_list = response_dict['response_data']
+    if format in dict(allowed_extension_list):
+      response_code, response_dict, message = server_proxy.run_generate(
+                                                                '',
+                                                                enc(self.data),
+                                                                None,
+                                                                format,
+                                                                self.mimetype)
+      data = dec(response_dict['data'])
       if self.mimetype == 'text/html':
         data = self.includeImageList(data)
       return data



More information about the Erp5-report mailing list