Ñò ÙpJJc @sldZddkZddklZlZlZeZdefd„ƒYZeƒZ defd„ƒYZ e Z de fd „ƒYZ e Z yddkZWnej onXdd kl Z l Z d efd „ƒYZd ee fd„ƒYZdefd„ƒYZdee fd„ƒYZdefd„ƒYZd„Zd„Zd„Zd„Zd„ZdS(sIAdapter management $Id: adapter.py 101362 2009-06-30 20:08:57Z fdrake $ iÿÿÿÿN(t providedByt InterfacetrotBaseAdapterRegistryc BseZdZd Zdd „Zd „Zed „d „ƒZd„Zd„Z d„Z dd„Z dd„Z d„Zdd„Zd„ZRS(tlookuptqueryMultiAdaptertlookup1t queryAdaptert adapter_hookt lookupAlltnamest subscriptionst subscribersicCs2g|_g|_h|_|iƒ||_dS(N(t _adapterst _subscriberst _providedt _createLookupt __bases__(tselftbases((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyt__init__"s     cCs0||idTscCs |i|ƒS((R(RR((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyRUscCsC|i|ƒ|_x*|iD]}t|i|ƒ|i|tr((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyRŒscCsFg}|iD]}||iq~|ijo|idƒndS(N(RZRR[RR (RR>R\((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyt_verify‘s$ cCs|iƒti|||ƒS(N(R]RGRO(RR+R((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyRO–s cCs|iƒti|||ƒS(N(R]RGR (RR*R+((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyR šs cCs|iƒti|||ƒS(N(R]RGR (RR*R+((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyR žs (RBRCRR]ROR R (((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyRXŠs     (t LookupBaset VerifyingBasetAdapterLookupBasecBs€eZd„Zd d„Zd„Zd„Zd„Zd„Zdd„Z dd d„Z d „Z d „Z d „Z d „ZRS(cCs3||_h|_|iƒtt|ƒiƒdS(N(RYt _requiredtinit_extendorstsuperR`R(Rtregistry((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyR®s   cCshtt|ƒidƒx>|iiƒD]-}|ƒ}|dj o|i|ƒq&q&W|iiƒdS(N(RcR`RR RatkeysR@RK(RRLR\((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyR´s  cCs1h|_x!|iiD]}|i|ƒqWdS(N(t _extendorsRYRR)(Rtp((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyRbÓs  cCs¦|i}x–|iD]‹}|i|dƒ}g}|D]!}|i|ƒo ||q6q6~|gg}|D]!}|i|ƒp ||qoqo~||tet_[2]((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyR)Øs   9cCsc|i}xS|iD]H}g}|i|dƒD]}||jo ||q0q0~||Rl((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyR8äs   cGsR|i}xB|D]:}|iƒ}||jo|i|ƒd||RN((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyR %sc CsÆt|ƒ}g}x t|iiƒD]Œ}|i}|t|ƒjoq%n|djo |f}n*|iii|ƒ}|djoq%nt ||||d|d|ƒq%W|i |Œ|S(Nui( R&R7RYRRR RRfR(t_subscriptionsRq(RR*R+R-RSRdR.Rk((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyRW(s       cCs’|itt|ƒ|ƒ}|djo%d}x]|D]}||Œq5WnBg}x8|D]0}||Œ}|dj o|i|ƒqZqZW|S(N((R R#RR R'(RRsR+R RSt subscriptiont subscriber((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyR >s   N(RBRCRR RRbR)R8RqRQRRVR RWR (((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyR`¬s         t AdapterLookupcBseZRS((RBRC(((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyRyLstAdapterRegistrycBs>eZeZdd„Zd„Zd„Zd„Zd„ZRS(cCs)tiƒ|_tt|ƒi|ƒdS(N(RntWeakKeyDictionaryt_v_subregistriesRcRzR(RR((s</usr/lib64/python2.6/site-packages/zope/interface/adapter.pyRSscCsd|i|s2 ÿ e $