[Erp5-report] r31126 kazuhiko - in /erp5/trunk/products/ERP5: PropertySheet/ mixin/

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Dec 7 16:42:35 CET 2009


Author: kazuhiko
Date: Mon Dec  7 16:42:34 2009
New Revision: 31126

URL: http://svn.erp5.org?rev=31126&view=rev
Log:
some divergence testers can be only for matching, not for divergence testing. so we need a way to recognise if a tester is for divergence testing or not.

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

Modified: erp5/trunk/products/ERP5/PropertySheet/DivergenceTester.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/PropertySheet/DivergenceTester.py?rev=31126&r1=31125&r2=31126&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/PropertySheet/DivergenceTester.py [utf8] (original)
+++ erp5/trunk/products/ERP5/PropertySheet/DivergenceTester.py [utf8] Mon Dec  7 16:42:34 2009
@@ -39,6 +39,11 @@
        'type'        : 'lines',
        'default'     : (),
        'mode'        : 'w' },
+    {  'id'          : 'testing_provider',
+       'description' : 'Defines whether a divergence tester acts as a testing provider.',
+       'type'        : 'boolean',
+       'default'     : 0,
+       'mode'        : 'rw' },
     {  'id'          : 'matching_provider',
        'description' : 'Defines whether a divergence tester acts as a matching provider.',
        'type'        : 'boolean',

Modified: erp5/trunk/products/ERP5/mixin/rule.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/mixin/rule.py?rev=31126&r1=31125&r2=31126&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/mixin/rule.py [utf8] (original)
+++ erp5/trunk/products/ERP5/mixin/rule.py [utf8] Mon Dec  7 16:42:34 2009
@@ -235,20 +235,14 @@
     """
     raise NotImplementedError
 
-  def _getDivergenceTesterList(self, exclude_quantity=True):
+  def _getDivergenceTesterList(self):
     """
     Return the applicable divergence testers which must
-    be used to test movement divergence.
-
-    exclude_quantity -- if set to true, do not consider
-                        quantity divergence testers
-    """
-    tester_list = self.objectValues(
-      portal_type=self.getPortalDivergenceTesterTypeList())
-    if exclude_quantity:
-      return [x for x in tester_list if x.getTestedProperty() != 'quantity']
-    else:
-      return tester_list
+    be used to test movement divergence. (ie. not all
+    divergence testers of the Rule)
+    """
+    return filter(lambda x:x.isTestingProvider(), self.objectValues(
+      portal_type=self.getPortalDivergenceTesterTypeList()))
 
   def _getMatchingTesterList(self):
     """
@@ -256,7 +250,8 @@
     be used to match movements and build the diff (ie.
     not all divergence testers of the Rule)
     """
-    raise NotImplementedError
+    return filter(lambda x:x.isMatchingProvider(), self.objectValues(
+      portal_type=self.getPortalDivergenceTesterTypeList()))
 
   def _getQuantityTesterList(self):
     """




More information about the Erp5-report mailing list