[Checkins] SVN: z3c.form/trunk/src/z3c/form/converter. A named field will tell it's name:

Adam Groszer agroszer at gmail.com
Wed Jan 23 11:11:36 EST 2008


Log message for revision 83114:
  A named field will tell it's name:
  TypeError: Field ``foobar`` must provide ``IFromUnicode``.

Changed:
  U   z3c.form/trunk/src/z3c/form/converter.py
  U   z3c.form/trunk/src/z3c/form/converter.txt

-=-
Modified: z3c.form/trunk/src/z3c/form/converter.py
===================================================================
--- z3c.form/trunk/src/z3c/form/converter.py	2008-01-23 16:08:00 UTC (rev 83113)
+++ z3c.form/trunk/src/z3c/form/converter.py	2008-01-23 16:11:36 UTC (rev 83114)
@@ -64,7 +64,11 @@
     def __init__(self, field, widget):
         super(FieldDataConverter, self).__init__(field, widget)
         if not zope.schema.interfaces.IFromUnicode.providedBy(field):
-            raise TypeError('Field must provide ``IFromUnicode``.')
+            if field.__name__:
+                raise TypeError('Field ``%s`` must provide ``IFromUnicode``.' \
+                                % field.__name__)
+            else:
+                raise TypeError('Field must provide ``IFromUnicode``.')
 
 
 @zope.component.adapter(interfaces.IFieldWidget)

Modified: z3c.form/trunk/src/z3c/form/converter.txt
===================================================================
--- z3c.form/trunk/src/z3c/form/converter.txt	2008-01-23 16:08:00 UTC (rev 83113)
+++ z3c.form/trunk/src/z3c/form/converter.txt	2008-01-23 16:11:36 UTC (rev 83114)
@@ -36,6 +36,14 @@
   ...
   TypeError: Field must provide ``IFromUnicode``.
 
+A named field will tell it's name:
+
+  >>> converter.FieldDataConverter(zope.schema.Date(__name__="foobar"), text)
+  Traceback (most recent call last):
+  ...
+  TypeError: Field ``foobar`` must provide ``IFromUnicode``.
+
+
 However, the ``FieldDataConverter`` is registered for ``IField``, since many
 fields (like ``Decimal``) for which we want to create custom converters
 provide ``IFromUnicode`` more specifically than their characterizing interface



More information about the Checkins mailing list