mς qγΈEc@s<dZdkZdklZdeeifd„ƒYZdS(sdPython implementation of persistent base types $Id: mapping.py 66125 2006-03-22 15:43:22Z tseaver $N(sUserDicttPersistentMappingcBsͺtZdZeiZeiZeiZ ei Z ei Z eiZeiZd„Zd„Zd„Zd„Z ed„Z d„Zd„Zd„Zd „Zd „ZRS( s€A persistent wrapper for mapping objects. This class allows wrapping of mapping objects so that object changes are registered. As a side effect, mapping objects may be subclassed. A subclass of PersistentMapping or any code that adds new attributes should not create an attribute named _container. This is reserved for backwards compatibility reasons. cCs|i|ƒd|_dS(Ni(tselft!_PersistentMapping__super_delitemtkeyt _p_changed(RR((t1/data/zmath/zope/lib/python/persistent/mapping.pyt __delitem__/s cCs|i||ƒd|_dS(Ni(Rt!_PersistentMapping__super_setitemRtvR(RRR((Rt __setitem__3scCs|iƒd|_dS(Ni(Rt_PersistentMapping__super_clearR(R((Rtclear7s cCs|i|ƒd|_dS(Ni(Rt _PersistentMapping__super_updatetbR(RR ((Rtupdate;s cCs-|i|ƒp d|_n|i||ƒS(Ni(Rthas_keyRRt$_PersistentMapping__super_setdefaulttfailobj(RRR((Rt setdefault?s cGsd|_|i||ŒS(Ni(RRt_PersistentMapping__super_popRtargs(RRR((RtpopGs cCsd|_|iƒS(Ni(RRt!_PersistentMapping__super_popitem(R((RtpopitemKs cCs t|iƒS(N(titerRtdata(R((Rt__iter__TscCsatg}|iiƒD]%}|didƒp ||qq~ƒ}|d|d<|d=|S(Nit_v_Rt _container(tdictt_[1]Rt__dict__titemstxt startswithtstate(RRR!R#((Rt __getstate__dsHcCsY|idƒo|d|_|d=n|idƒp h|_n|ii|ƒdS(NRR(R#RRRRR(RR#((Rt __setstate__ks    (t__name__t __module__t__doc__tUserDictRRR RR R RR RRRRRRtNoneRR$R%(((RRs$                (R(t persistentR)t PersistentR(R)R+R((Rt?s