[Erp5-report] r31333 kazuhiko - /erp5/trunk/products/ERP5/mixin/rule.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Dec 16 14:45:02 CET 2009


Author: kazuhiko
Date: Wed Dec 16 14:44:58 2009
New Revision: 31333

URL: http://svn.erp5.org?rev=31333&view=rev
Log:
revert 31296. matching with 'order' should be configured by adding a divergence tester that is only used for matching.

Modified:
    erp5/trunk/products/ERP5/mixin/rule.py

Modified: erp5/trunk/products/ERP5/mixin/rule.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/mixin/rule.py?rev=31333&r1=31332&r2=31333&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/mixin/rule.py [utf8] (original)
+++ erp5/trunk/products/ERP5/mixin/rule.py [utf8] Wed Dec 16 14:44:58 2009
@@ -171,25 +171,6 @@
       self._getMovementGeneratorContext(context),
       movement_list=self._getMovementGeneratorMovementList(), rounding=rounding)
 
-    # Prepare a mapping between prevision and decision
-    #   The prevision_to_decision_map is a list of tuples
-    #   of the form (prevision_movement_dict, list of decision_movement)
-    prevision_to_decision_map = []
-
-    # XXX First we try to match by 'order' value if possible. # XXX-JPS implement as DivergenceTester, no ad-hoc here
-    matched_prevision_list = []
-    matched_decision_list = []
-    prevision_order_dict = dict(
-      (x.getOrder(), x) for x in prevision_movement_list)
-    for decision_movement in decision_movement_list:
-      prevision_movement = prevision_order_dict.get(
-        decision_movement.getOrder(), None)
-      if prevision_movement is not None:
-        prevision_to_decision_map.append(
-          (prevision_movement, [decision_movement]))
-        matched_prevision_list.append(prevision_movement)
-        matched_decision_list.append(decision_movement)
-
     # Get divergence testers
     tester_list = self._getMatchingTesterList()
     if len(tester_list) == 0:
@@ -198,8 +179,6 @@
     # Create small groups of movements per hash keys
     decision_movement_dict = {}
     for movement in decision_movement_list:
-      if movement in matched_decision_list:
-        continue
       tester_key = []
       for tester in tester_list:
         if tester.test(movement):
@@ -210,8 +189,6 @@
       decision_movement_dict.setdefault(tester_key, []).append(movement)
     prevision_movement_dict = {}
     for movement in prevision_movement_list:
-      if movement in matched_prevision_list:
-        continue
       tester_key = []
       for tester in tester_list:
         if tester.test(movement):
@@ -220,6 +197,11 @@
           tester_key.append(None)
       tester_key = tuple(tester_key)
       prevision_movement_dict.setdefault(tester_key, []).append(movement)
+
+    # Prepare a mapping between prevision and decision
+    #   The prevision_to_decision_map is a list of tuples
+    #   of the form (prevision_movement_dict, list of decision_movement)
+    prevision_to_decision_map = []
 
     # First find out all existing (decision) movements which belong to no group
     no_group_list = []




More information about the Erp5-report mailing list