mò /á¸Ec@sÇdZdkZdklZdklZdklZdklZdk l Z dk l Z dk l Z d k lZd k l Z d efd „ƒYZd e fd„ƒYZeeƒd„ZdS(sTWebDAV support - lockable item. $Id: Lockable.py 40280 2005-11-20 23:54:39Z efge $ N(sClassSecurityInfo(sInitializeClass(sPersistentMapping(s implements(s EtagSupport(s ILockItem(s IWriteLock(sLockItemInterface(sWriteLockInterfacetResourceLockedErrorcBstZRS(N(t__name__t __module__(((t./data/zmath/zope/lib/python/webdav/Lockable.pyRst LockableItemcBstZdZeeƒeƒZeidƒeiddddddƒei dd ƒei d d ƒei d d ƒei ddƒei d dƒddd„Z dd„Z dd„Z dd„Zdd„Zd„Zd„Zd„Zd„Zd„ZRS(sŽImplements the WriteLock interface. This class is inherited by Resource which is then inherited by the majority of Zope objects. twl_lockmappingt wl_isLockedt wl_getLocktwl_isLockedByUsert wl_lockItemst wl_lockValuest wl_lockTokenssWebDAV Lock itemst wl_setLocksWebDAV Unlock itemst wl_delLocksManage WebDAV Lockst wl_clearLockstManagertOwnericCs×yt|ddƒ}Wn d}nX|djo)|otƒ}|_nh}|Snx|olx2|iƒD]$\}}|i ƒp ||=qpqpW| o't t i|ƒdƒo|iƒn|Sn|SdS(sO if 'killinvalids' is 1, locks who are no longer valid will be deleted t_dav_writelockst__no_valid_write_locks__N(tgetattrtselftNonetlockstcreatetPersistentMappingRt killinvalidstitemsttokentlocktisValidthasattrt Acquisitiontaq_baseR(RRRRRR((RR:s(     cCs|i|ƒiƒS(N(RRRR(RR((RR TscCs|i|ƒiƒS(N(RRRtvalues(RR((RR WscCs|i|ƒiƒS(N(RRRtkeys(RR((RR ZscCs(|pdSn||i|ƒiƒjS(Ni(RRRRR"(RRR((Rt wl_hasLock]scCs/|iddƒ}|iƒodSndSdS(NRii(RRRR"(RR((RRas cCsm|iddƒ}ti|ƒpti|ƒo.||i ƒjo|||