[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