[Erp5-report] r42580 kazuhiko - in /erp5/trunk/utils/cloudooo/cloudooo/handler/ooo: ./ helper/
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Jan 21 14:48:04 CET 2011
Author: kazuhiko
Date: Fri Jan 21 14:48:03 2011
New Revision: 42580
URL: http://svn.erp5.org?rev=42580&view=rev
Log:
try to provide appropriate filter list by both source_format and destination_format, and always choose the right by by document_type computed by soffice itself.
Modified:
erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/handler.py
erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/helper/unoconverter.py
Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/handler.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/handler.py?rev=42580&r1=42579&r2=42580&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/handler.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/handler.py [utf8] Fri Jan 21 14:48:03 2011
@@ -132,18 +132,22 @@ class OOHandler:
return stdout, stderr
- def _serializeMimemapper(self, extension=None):
+ def _serializeMimemapper(self, source_extension=None, destination_extension=None):
"""Serialize parts of mimemapper"""
- if extension is None:
+ if destination_extension is None:
return json.dumps(dict(mimetype_by_filter_type=mimemapper._mimetype_by_filter_type))
filter_list = []
- for service_type in mimemapper._doc_type_list_by_extension[extension]:
+ service_type_list = mimemapper._doc_type_list_by_extension.get(
+ source_extension, mimemapper.extension_list_by_doc_type.keys())
+ for service_type in service_type_list:
for extension in mimemapper.extension_list_by_doc_type[service_type]:
- filter_list.append((extension,
- service_type,
- mimemapper.getFilterName(extension,
- service_type)))
+ if extension == destination_extension:
+ filter_list.append((extension,
+ service_type,
+ mimemapper.getFilterName(extension,
+ service_type)))
+ logger.debug("Filter List: %r" % filter_list)
return json.dumps(dict(doc_type_list_by_extension=mimemapper._doc_type_list_by_extension,
filter_list=filter_list,
mimetype_by_filter_type=mimemapper._mimetype_by_filter_type))
@@ -158,7 +162,8 @@ class OOHandler:
kw['source_format'] = self.source_format
if destination_format:
kw['destination_format'] = destination_format
- kw['mimemapper'] = self._serializeMimemapper(self.source_format)
+ kw['mimemapper'] = self._serializeMimemapper(self.source_format,
+ destination_format)
kw['refresh'] = json.dumps(self.refresh)
try:
stdout, stderr = self._callUnoConverter(*['convert'], **kw)
Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/helper/unoconverter.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/helper/unoconverter.py?rev=42580&r1=42579&r2=42580&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/helper/unoconverter.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/helper/unoconverter.py [utf8] Fri Jan 21 14:48:03 2011
@@ -136,15 +136,9 @@ class UnoConverter(object):
return [property,]
def _getFilterName(self, destination_format, type):
- document_type_list = mimemapper["doc_type_list_by_extension"].get(destination_format)
- if type in document_type_list:
- for filter_tuple in mimemapper["filter_list"]:
- if destination_format == filter_tuple[0] and filter_tuple[1] == type:
- return filter_tuple[2]
- else:
- for filter_tuple in mimemapper["filter_list"]:
- if destination_format == filter_tuple[0]:
- return filter_tuple[2]
+ for filter_tuple in mimemapper["filter_list"]:
+ if destination_format == filter_tuple[0] and filter_tuple[1] == type:
+ return filter_tuple[2]
def _getPropertyToExport(self, destination_format=None):
"""Create the property according to the extension of the file."""
More information about the Erp5-report
mailing list