[Erp5-report] r36599 kazuhiko - /erp5/trunk/products/ERP5/Tool/SolverTool.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Jun 25 15:07:14 CEST 2010
Author: kazuhiko
Date: Fri Jun 25 15:07:12 2010
New Revision: 36599
URL: http://svn.erp5.org?rev=36599&view=rev
Log:
try to find appropriate target solvers only from solver category related solvers.
Modified:
erp5/trunk/products/ERP5/Tool/SolverTool.py
Modified: erp5/trunk/products/ERP5/Tool/SolverTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Tool/SolverTool.py?rev=36599&r1=36598&r2=36599&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Tool/SolverTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Tool/SolverTool.py [utf8] Fri Jun 25 15:07:12 2010
@@ -200,15 +200,18 @@ class SolverTool(TypeProvider):
# etc. same
def searchTargetSolverList(self, divergence_tester,
- tested_base_category_list=None, **kw):
+ simulation_movement,
+ automatic_solver_only=False, **kw):
"""
this method returns a list of target solvers, as predicates against
- divergence tester.
+ simulation movement.
"""
- domain_tool = getToolByName(self.getPortalObject(), "portal_domains")
-
- solver_list = domain_tool.searchPredicateList(
- context=divergence_tester, portal_type='Solver Type',
- tested_base_category_list=tested_base_category_list, **kw)
-
- return solver_list
+ # Target Solver only works for non-legacy testers.
+ if not interfaces.IEquivalenceTester.providedBy(divergence_tester):
+ return []
+ solver_list = divergence_tester.getSolverValueList()
+ if automatic_solver_only:
+ return [x for x in solver_list if x.isAutomaticSolver() and \
+ x.test(simulation_movement, **kw)]
+ else:
+ return [x for x in solver_list if x.test(simulation_movement, **kw)]
More information about the Erp5-report
mailing list