mς ‘γΈEc@s•dZdklZlZdklZdklZdkZdk Z dk l Z defd„ƒYZ defd „ƒYZd fd „ƒYZdS( s.Things needed for backward compatibility $Id (s Interfaces implements(sComponentLookupError(sgetDefaultViewNameN(s fivemethodtIBrowserDefaultcBstZdZd„ZRS(s@Provide a hook for deciding about the default view for an objectcCsdS(s‘Return the object to be published (usually self) and a sequence of names to traverse to find the method to be published. N((tselftrequest((t0/data/zmath/zope/lib/python/Products/Five/bbb.pyt defaultViews(t__name__t __module__t__doc__R(((RRs tBrowserDefaultcBs$tZeeƒd„Zd„ZRS(NcCs ||_dS(N(tcontextR(RR ((Rt__init__&scCsM|i}y t||ƒ}||gfSWntj o|dfSnXdS(N(RR tgetDefaultViewNameRtnametComponentLookupErrortNone(RRR R ((RR)s  (RRt implementsRR R(((RR#s  t TraversablecBstZdZeZd„ZRS(s%A mixin to make an object traversablecCseyt||ƒSWntj onXy ||SWnttttfj onXt|ƒ‚dS(sΩHook for Zope 2 traversal This method is called by Zope 2's ZPublisher upon traversal. It allows us to trick it into faking the Zope 3 traversal system by using an ITraverser adapter. N(tgetattrRR tAttributeErrortKeyErrort IndexErrort TypeError(RtREQUESTR ((Rt__bobo_traverse__5s (RRRtTruet__five_traversable__R(((RR1s (Rtzope.interfacet InterfaceRtzope.component.interfacesR tzope.app.publisher.browserR t zExceptionstProducts.Five.securitytProductst Products.Fivet fivemethodRtobjectRR( RR"RR RRR RRR ((Rt?s