[Zope3-checkins] CVS: Zope3/src/zope/app/form - utility.py:1.3 widget.py:1.4

Jim Fulton jim@zope.com
Thu, 9 Jan 2003 09:13:42 -0500


Update of /cvs-repository/Zope3/src/zope/app/form
In directory cvs.zope.org:/tmp/cvs-serv14386/src/zope/app/form

Modified Files:
	utility.py widget.py 
Log Message:
- Got rid of (essentially) unused validateMapping, validateMappingAll,
  ValidationErrorsAll and ConversionErrorsAll.

- Renamed zope.app.interfaces.forms to zope.app.interfaces.form

- Changed the way form input errors are handled. Now, *only*
  validation errors and widget input errors are caught and displayed
  on forms. These errors are about data entry problems. For these, it
  never makes sense to show a traceback.

  For Python programming errors, we want tracebacks, so it's important
  to handle them differently, but letting the propigate and get logged
  by the error reporting service.

  This required updating the widget code to be more careful about
  errors raised.



=== Zope3/src/zope/app/form/utility.py 1.2 => 1.3 ===
--- Zope3/src/zope/app/form/utility.py:1.2	Wed Dec 25 09:12:52 2002
+++ Zope3/src/zope/app/form/utility.py	Thu Jan  9 09:13:08 2003
@@ -35,9 +35,10 @@
 __metaclass__ = type
 
 from zope.component import getView, getDefaultViewName
-from zope.schema.interfaces import IField
-from zope.app.interfaces.forms import IWidget
-from zope.app.interfaces.forms import WidgetsError, MissingInputError
+from zope.schema.interfaces import IField, ValidationError
+from zope.app.interfaces.form import IWidget
+from zope.app.interfaces.form import WidgetsError, MissingInputError
+from zope.app.interfaces.form import InputErrors
 from zope.component.interfaces import IViewFactory
 
 
@@ -185,7 +186,7 @@
             if widget.haveData():
                 try:
                     result[name] = widget.getData()
-                except Exception, v:
+                except InputErrors, v:
                     errors.append(v)
             elif required and field.required:
                 raise MissingInputError(
@@ -223,7 +224,7 @@
         # OK, we really got a field
         try:
             setattr(content, name, data[name])
-        except Exception, v:
+        except ValidationError, v:
             errors.append(v)
 
     if errors:


=== Zope3/src/zope/app/form/widget.py 1.3 => 1.4 ===
--- Zope3/src/zope/app/form/widget.py:1.3	Tue Dec 31 06:07:10 2002
+++ Zope3/src/zope/app/form/widget.py	Thu Jan  9 09:13:08 2003
@@ -14,7 +14,7 @@
 """
 $Id$
 """
-from zope.app.interfaces.forms import IWidget
+from zope.app.interfaces.form import IWidget
 from zope.component.interfaces import IViewFactory
 
 __metaclass__ = type