[Erp5-report] r32822 nicolas.dumazet - /erp5/trunk/products/ERP5Type/XMLMatrix.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Feb 19 05:41:00 CET 2010


Author: nicolas.dumazet
Date: Fri Feb 19 05:40:58 2010
New Revision: 32822

URL: http://svn.erp5.org?rev=32822&view=rev
Log:
use the builtin filter()

Modified:
    erp5/trunk/products/ERP5Type/XMLMatrix.py

Modified: erp5/trunk/products/ERP5Type/XMLMatrix.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/XMLMatrix.py?rev=32822&r1=32821&r2=32822&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/XMLMatrix.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/XMLMatrix.py [utf8] Fri Feb 19 05:40:58 2010
@@ -350,24 +350,22 @@
         # Create an index for this base_id
         self.index[base_id] = PersistentMapping()
 
+      cell_id_list = []
+      for cell_id in self.getCellIdList(base_id = base_id):
+        if self.get(cell_id) is not None:
+          cell_id_list.append(cell_id)
+
       # First, delete all cells which are out of range.
       size_list = map(len, kw)
       if len_delta < 0:
         size_list.extend([1] * (-len_delta))
-      removed_cell_id_list = []
-      cell_id_list = []
-      for cell_id in self.getCellIdList(base_id = base_id):
-        if self.get(cell_id) is not None:
-          cell_id_list.append(cell_id)
-      for cell_id in cell_id_list:
+      def is_in_range(cell_id):
         for i, index in enumerate(cell_id[len(base_id)+1:].split('_')):
           if int(index) >= size_list[i]:
-            removed_cell_id_list.append(cell_id)
-            break
-
-      for cell_id in removed_cell_id_list:
-        self._delObject(cell_id)
-        cell_id_list.remove(cell_id)
+            self._delObject(cell_id)
+            return False
+        return True
+      cell_id_list = filter(is_in_range, cell_id_list)
 
       # Secondly, rename coordinates. This does not change cell ids.
       for i in range(max(new_len, current_len)):




More information about the Erp5-report mailing list