[Checkins] SVN: zope.i18n/trunk/src/zope/i18n/t raising ValueError instead of RuntimeError when a loop in translating messages is detected (bug 210177)

Christian Zagrodnick cz at gocept.com
Mon Apr 21 02:19:51 EDT 2008


Log message for revision 85524:
  raising ValueError instead of RuntimeError when a loop in translating messages is detected (bug 210177)

Changed:
  U   zope.i18n/trunk/src/zope/i18n/tests/test_translationdomain.py
  U   zope.i18n/trunk/src/zope/i18n/translationdomain.py

-=-
Modified: zope.i18n/trunk/src/zope/i18n/tests/test_translationdomain.py
===================================================================
--- zope.i18n/trunk/src/zope/i18n/tests/test_translationdomain.py	2008-04-21 04:12:25 UTC (rev 85523)
+++ zope.i18n/trunk/src/zope/i18n/tests/test_translationdomain.py	2008-04-21 06:19:51 UTC (rev 85524)
@@ -118,7 +118,7 @@
                          mapping = {})
         msgid1.mapping['msg2'] = msgid2
         msgid2.mapping['msg1'] = msgid1
-        self.assertRaises(RuntimeError,
+        self.assertRaises(ValueError,
                           translate, msgid1, None, None, 'en',"default")
         # Recusrive translations also work if the original message id wasn't a
         # message id but a unicode with a directly passed mapping

Modified: zope.i18n/trunk/src/zope/i18n/translationdomain.py
===================================================================
--- zope.i18n/trunk/src/zope/i18n/translationdomain.py	2008-04-21 04:12:25 UTC (rev 85523)
+++ zope.i18n/trunk/src/zope/i18n/translationdomain.py	2008-04-21 06:19:51 UTC (rev 85524)
@@ -101,8 +101,9 @@
                 if isinstance(value, Message):
                     # XXX why isn't there an IMessage interface?
                     if value in seen:
-                        raise RuntimeError(  # XXX ValueError
-                            "Circular Reference in Mappings detected")
+                        raise ValueError(
+                            "Circular reference in mappings detected: %s" %
+                            value)
                     mapping[key]=self._recursive_translate(
                         value, mapping, target_language,
                         default, seen)



More information about the Checkins mailing list