[Checkins] SVN: zc.form/trunk/src/zc/form/ - made the exception views unicode aware.

Christian Zagrodnick cz at gocept.com
Fri May 4 03:08:03 EDT 2007


Log message for revision 75256:
  - made the exception views unicode aware.
  
  

Changed:
  U   zc.form/trunk/src/zc/form/CHANGES.txt
  U   zc.form/trunk/src/zc/form/browser/exceptionviews.py
  A   zc.form/trunk/src/zc/form/browser/exceptionviews.txt
  U   zc.form/trunk/src/zc/form/browser/tests.py

-=-
Modified: zc.form/trunk/src/zc/form/CHANGES.txt
===================================================================
--- zc.form/trunk/src/zc/form/CHANGES.txt	2007-05-04 06:42:29 UTC (rev 75255)
+++ zc.form/trunk/src/zc/form/CHANGES.txt	2007-05-04 07:08:02 UTC (rev 75256)
@@ -1,9 +1,12 @@
-======================================================================
+==================
 CHANGES in zc.form
-======================================================================
+==================
 
-2007-05-03
-----------
+0.1
+---
 
+- Exception views are now unicode aware. They used to break on translated
+  content.
+
 - Added use_default_for_not_selected to Union field to use default
   value even if sub field is not selected.

Modified: zc.form/trunk/src/zc/form/browser/exceptionviews.py
===================================================================
--- zc.form/trunk/src/zc/form/browser/exceptionviews.py	2007-05-04 06:42:29 UTC (rev 75255)
+++ zc.form/trunk/src/zc/form/browser/exceptionviews.py	2007-05-04 07:08:02 UTC (rev 75256)
@@ -32,18 +32,10 @@
         self.context, self.request = context, request
 
     def snippet(self):
-        """Convert an invariant error to an html snippet.
-
-        >>> from zope.schema.interfaces import ValidationError
-        >>> err = ValidationError(
-        ... "Bad error!  Bad!")
-        >>> view = ValidationErrorView(err, None)
-        >>> view.snippet()
-        '<span class="error">Bad error!  Bad!</span>'
-        """
+        """Convert an invariant error to an html snippet."""
         msg = self.context.args[0]
         msg = i18n.translate(msg, context=self.request, default=msg)
-        return '<span class="error">%s</span>' % escape(str(msg))
+        return u'<span class="error">%s</span>' % escape(msg)
 
 
 class ValidationErrorView(AbstractErrorView):

Added: zc.form/trunk/src/zc/form/browser/exceptionviews.txt
===================================================================
--- zc.form/trunk/src/zc/form/browser/exceptionviews.txt	2007-05-04 06:42:29 UTC (rev 75255)
+++ zc.form/trunk/src/zc/form/browser/exceptionviews.txt	2007-05-04 07:08:02 UTC (rev 75256)
@@ -0,0 +1,20 @@
+===============
+Exception Views
+===============
+
+Convert an invariant error to an html snippet::
+
+    >>> from zope.schema.interfaces import ValidationError
+    >>> from zc.form.browser.exceptionviews import ValidationErrorView
+    >>> err = ValidationError(
+    ... "Bad error!  Bad!")
+    >>> view = ValidationErrorView(err, None)
+    >>> view.snippet()
+    u'<span class="error">Bad error!  Bad!</span>'
+
+This also works with unicode characters::
+
+    >>> err = ValidationError(u"F\xe4lscher!")
+    >>> view = ValidationErrorView(err, None)
+    >>> view.snippet()
+    u'<span class="error">F\xe4lscher!</span>'


Property changes on: zc.form/trunk/src/zc/form/browser/exceptionviews.txt
___________________________________________________________________
Name: svn:keywords
   + Id Rev Date
Name: svn:eol-style
   + native

Modified: zc.form/trunk/src/zc/form/browser/tests.py
===================================================================
--- zc.form/trunk/src/zc/form/browser/tests.py	2007-05-04 06:42:29 UTC (rev 75255)
+++ zc.form/trunk/src/zc/form/browser/tests.py	2007-05-04 07:08:02 UTC (rev 75256)
@@ -169,8 +169,8 @@
 
 def test_suite():
     suite = unittest.makeSuite(TestUnionWidget)
-    suite.addTest(doctest.DocTestSuite(
-        'zc.form.browser.exceptionviews',
+    suite.addTest(doctest.DocFileSuite(
+        'exceptionviews.txt',
         setUp=placelesssetup.setUp, tearDown=placelesssetup.tearDown))
     suite.addTest(
         doctest.DocFileSuite(



More information about the Checkins mailing list