[Erp5-report] r17004 - /erp5/trunk/utils/erp5mechanize/ERP5Mechanize.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Oct 15 15:19:25 CEST 2007


Author: vincent
Date: Mon Oct 15 15:19:24 2007
New Revision: 17004

URL: http://svn.erp5.org?rev=17004&view=rev
Log:
Fix fillSelectFieldByPredicate when 0 (now fails with an explicit error message) or more than 1 (now selects the first match) entry match predicate.

Modified:
    erp5/trunk/utils/erp5mechanize/ERP5Mechanize.py

Modified: erp5/trunk/utils/erp5mechanize/ERP5Mechanize.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5mechanize/ERP5Mechanize.py?rev=17004&r1=17003&r2=17004&view=diff
==============================================================================
--- erp5/trunk/utils/erp5mechanize/ERP5Mechanize.py (original)
+++ erp5/trunk/utils/erp5mechanize/ERP5Mechanize.py Mon Oct 15 15:19:24 2007
@@ -127,7 +127,10 @@
     self.selectMainForm()
     field = self.browser.find_control(name)
     assert field.type == 'select'
-    self.fillField(name, [x.name for x in field.items if predicate(x)])
+    value_list = [x.name for x in field.items if predicate(x.name)]
+    if len(value_list) == 0:
+      raise ItemNotFoundError, 'No item match \'%r\'' % (predicate, )
+    self.fillField(name, [value_list[0]])
 
   def timeOpen(self, request):
     """




More information about the Erp5-report mailing list