[Zope3-checkins] 
	SVN: Zope3/trunk/src/zope/app/traversing/adapters.py
	Now raising TraversalError if __getitem__ fails with KeyError.
    Garrett Smith 
    garrett at mojave-corp.com
       
    Wed Mar  9 13:50:52 EST 2005
    
    
  
Log message for revision 29426:
  Now raising TraversalError if __getitem__ fails with KeyError.
Changed:
  U   Zope3/trunk/src/zope/app/traversing/adapters.py
-=-
Modified: Zope3/trunk/src/zope/app/traversing/adapters.py
===================================================================
--- Zope3/trunk/src/zope/app/traversing/adapters.py	2005-03-09 18:45:51 UTC (rev 29425)
+++ Zope3/trunk/src/zope/app/traversing/adapters.py	2005-03-09 18:50:51 UTC (rev 29426)
@@ -48,13 +48,14 @@
         attr = getattr(subject, name, _marker)
         if attr is not _marker:
             return attr
-
         if hasattr(subject, '__getitem__'):
-            # Let exceptions propagate.
-            return subject[name]
-        else:
-            raise TraversalError(subject, name)
+            try:
+                return subject[name]
+            except KeyError:
+                pass
+        raise TraversalError(subject, name)
 
+
 class RootPhysicallyLocatable(object):
     __doc__ = IPhysicallyLocatable.__doc__
 
    
    
More information about the Zope3-Checkins
mailing list