[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