forwarded message from Roger E. Masse

"Roger E. Masse" <rmasse-fVcApmY9cLvQ3/1i3zOLAti2O/[email protected]> Mon, 18 Apr 2005 17:55:30 -0400
Newsgroups gmane.comp.web.quixote.cvs
Message-ID <[email protected]>
CONTENT-TRANSFER-ENCODING: quoted-printable
Content-Type: text/plain; charset=UTF-8
Return-Path: <rmasse-fVcApmY9cLvQ3/1i3zOLAti2O/[email protected]>
Delivered-To: [email protected]
Received: (qmail 30227 invoked from network); 18 Apr 2005 21:55:39 -0000
Received: from ion.mems-exchange.org (HELO presto.mems-exchange.org)
	(10.27.8.141) by 0 with SMTP; 18 Apr 2005 21:55:39 -0000
Received: (qmail 32682 invoked by alias); 18 Apr 2005 21:54:51 -0000
Delivered-To: rogermasse.com-mail-8P4l7hqfNbAj5TC/[email protected]
Received: (qmail 32680 invoked from network); 18 Apr 2005 21:54:51 -0000
Received: from monk.mems-exchange.org (132.151.8.3)
	by 10.27.8.146 with SMTP; 18 Apr 2005 17:54:51 -0400
Received: (qmail 21594 invoked by alias); 18 Apr 2005 21:55:38 -0000
Delivered-To: mems-exchange.org-rmasse-fVcApmY9cLvQ3/1i3zOLAti2O/[email protected]
Received: (qmail 21590 invoked by alias); 18 Apr 2005 21:55:38 -0000
Delivered-To: mems-exchange.org-mems-cvs-fVcApmY9cLvQ3/1i3zOLAti2O/[email protected]
Received: (qmail 21588 invoked from network); 18 Apr 2005 21:55:38 -0000
Received: from miles.mems-exchange.org (132.151.8.12)
	by 132.151.8.3 with SMTP; 18 Apr 2005 17:55:38 -0400
Received: from rmasse by miles.mems-exchange.org with local (Exim 3.36 #1)
	id 1DNeDR-0006WP-00
	for mems-cvs-fVcApmY9cLvQ3/1i3zOLAti2O/[email protected]; Mon, 18 Apr 2005 17:55:37 -0400
Message-Id: <E1DNeDR-0006WP-00-diuEHtAPqkYJ2/[email protected]>
From: "Roger E. Masse" <rmasse-fVcApmY9cLvQ3/1i3zOLAti2O/[email protected]>
To: mems-cvs-fVcApmY9cLvQ3/1i3zOLAti2O/[email protected]
Subject: SVN: r26606 - trunk/quixote
Date: Mon, 18 Apr 2005 17:55:37 -0400

Author: rmasse
Date: 2005-04-18 17:55:37 -0400 (Mon, 18 Apr 2005)
New Revision: 26606

Modified:
   trunk/quixote/directory.py
Log:
Make traversal safer.
Changed:
directory.py


Modified: trunk/quixote/directory.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/quixote/directory.py=092005-04-18 21:06:09 UTC (rev 26605)
+++ trunk/quixote/directory.py=092005-04-18 21:55:37 UTC (rev 26606)
@@ -62,7 +62,10 @@
             raise TraversalError(private_msg=3D('directory %r has no c=
omponent '
                                               '%r' % (self, component)=
))
         if path:
-            return obj._q_traverse(path)
+            if hasattr(obj, '_q_traverse'):
+                return obj._q_traverse(path)
+            else:
+                raise TraversalError
         elif callable(obj):
             return obj()
         else: