[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