[Erp5-report] r45058 nicolas - /erp5/trunk/utils/cloudooo.handler.ooo/src/cloudooo/handler/...

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Apr 4 17:40:41 CEST 2011


Author: nicolas
Date: Mon Apr  4 17:40:41 2011
New Revision: 45058

URL: http://svn.erp5.org?rev=45058&view=rev
Log:
Optimisation to avoid duplicates filter in --mimemaper parameter pass to unoconverter helper

Modified:
    erp5/trunk/utils/cloudooo.handler.ooo/src/cloudooo/handler/ooo/handler.py
    erp5/trunk/utils/cloudooo.handler.ooo/src/cloudooo/handler/ooo/mimemapper.py

Modified: erp5/trunk/utils/cloudooo.handler.ooo/src/cloudooo/handler/ooo/handler.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo.handler.ooo/src/cloudooo/handler/ooo/handler.py?rev=45058&r1=45057&r2=45058&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo.handler.ooo/src/cloudooo/handler/ooo/handler.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo.handler.ooo/src/cloudooo/handler/ooo/handler.py [utf8] Mon Apr  4 17:40:41 2011
@@ -139,14 +139,11 @@ class Handler(object):
 
     filter_list = []
     service_type_list = mimemapper._doc_type_list_by_extension.get(
-      source_extension, mimemapper.extension_list_by_doc_type.keys())
+      source_extension, mimemapper.document_service_list)
     for service_type in service_type_list:
-      for extension in mimemapper.extension_list_by_doc_type[service_type]:
-        if extension == destination_extension:
-          filter_list.append((extension,
-                              service_type,
-                              mimemapper.getFilterName(extension,
-                                                       service_type)))
+      filter_list.append((destination_extension,
+                          service_type,
+                          mimemapper.getFilterName(destination_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,

Modified: erp5/trunk/utils/cloudooo.handler.ooo/src/cloudooo/handler/ooo/mimemapper.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo.handler.ooo/src/cloudooo/handler/ooo/mimemapper.py?rev=45058&r1=45057&r2=45058&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo.handler.ooo/src/cloudooo/handler/ooo/mimemapper.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo.handler.ooo/src/cloudooo/handler/ooo/mimemapper.py [utf8] Mon Apr  4 17:40:41 2011
@@ -191,9 +191,6 @@ class MimeMapper(object):
       'xls': ['com.sun.star.sheet.SpreadsheetDocument'],
       })
     self.document_service_list = self._extension_list_by_type.keys()
-    self.extension_list_by_doc_type =\
-        dict([(type, [extension[0] for extension in extension_list])\
-              for type, extension_list in self._extension_list_by_type.iteritems()])
     self._loaded = True
 
   def getFilterName(self, extension, document_service):
@@ -205,22 +202,18 @@ class MimeMapper(object):
     >>> mimemapper.getFilterName("sdw", "com.sun.star.text.TextDocument")
     'StarWriter 3.0'
     """
-    filter_list = [filter for filter in iter(self.getFilterList(extension)) \
+    filter_list = [filter for filter in self.getFilterList(extension) \
         if filter.getDocumentService() == document_service]
     if len(filter_list) > 1:
       for filter in iter(filter_list):
         if filter.isPreferred():
           return filter.getName()
       else:
-        sort_index_list = [filter.getSortIndex() \
-            for filter in iter(filter_list)]
-        num_max_int = max(sort_index_list)
         for filter in iter(filter_list):
           if filter.getName().endswith("Export"):
             return filter.getName()
-        for filter in iter(filter_list):
-          if filter.getSortIndex() == num_max_int:
-            return filter.getName()
+        filter_list.sort(key=lambda x: x.getSortIndex())
+        return filter_list[-1].getName()
     else:
       return filter_list[0].getName()
 



More information about the Erp5-report mailing list