;ò +B?c@s”dklZdklZlZlZlZlZlZdefd„ƒYZ de fd„ƒYZ de fd„ƒYZ de fd „ƒYZ d S( (s BasicUser(sjoinsstripssplitslowersuppersfindsXUFUsercBsÝtZdZed„Zd„Zd„Zd„Zd„Zed„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zed„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(Nsmisc_/exUserFolder/exUser.gifcCs®|d|_|d|_tt|dƒ|_t|dƒtdƒjo,tttt t |ddƒƒƒ|_ n|d|_ ||_ ||_||_||_dS(Nsnamespasswordsrolessdomainsss,(s cacheablesselfsnames__sfiltersNonesrolesstypesmapsstripssplitsdomainss authSources _authSources propSources _propSources groupSources _groupSources cryptPassword(sselfs cacheables propSources cryptPasswords authSources groupSource((sB/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/User.pys__init__Hs        cCs |iSdS(N(sselfsname(sself((sB/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/User.pys getUserNameXscCs |iSdS(N(sselfs__(sself((sB/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/User.pys _getPassword[scCst|iƒdfSdS(Ns Authenticated(stuplesselfsroles(sself((sB/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/User.pysgetRoles^scCs |iSdS(N(sselfsdomains(sself((sB/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/User.pys getDomainsascCs+|io|ii||i|ƒSndS(N(sselfs _propSourcesgetUserPropertyspropertysnamesdefault(sselfspropertysdefault((sB/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/User.pys getPropertyes cCs"|io|ii|ƒSndS(N(sselfs _propSources hasPropertysproperty(sselfsproperty((sB/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/User.pys hasPropertyis cCsD|ddjodSn|io|ii||i|ƒSndS(Nis_(spropertysselfs _propSourcessetUserPropertysnamesvalue(sselfspropertysvalue((sB/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/User.pys setPropertyms cCs>|ddjodSn|io|ii||ƒSndS(Nis_(spropertysselfs _propSourcessetTempPropertysvalue(sselfspropertysvalue((sB/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/User.pyssetTempPropertyss cCs|io|iiƒSndS(N(sselfs _propSourcesflushTempProperties(sself((sB/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/User.pysflushTempPropertiesys cCsA|ddjodSn|io|ii||iƒSndS(Nis_(spropertysselfs _propSourcesdelUserPropertysname(sselfsproperty((sB/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/User.pys delProperty}s cCs%|io|ii|iƒSndS(N(sselfs _propSourceslistUserPropertiessname(sself((sB/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/User.pyslistPropertiesƒs cCsz|ddjo\t||ƒot||ƒSn|io|ii|ƒo|ii||iƒSqmnt|‚dS(Nis_( skeyshasattrsselfsgetattrs _propSources hasPropertysgetUserPropertysnamesKeyError(sselfskey((sB/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/User.pys __getitem__ˆs cCsD|ddjodSn|io|ii||i|ƒndS(Nis_(skeysselfs _propSourcessetUserPropertysnamesvalue(sselfskeysvalue((sB/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/User.pys __setitem__’s cCsi|d|iƒ}xL|D]D}|o||i|ƒSq|i|i|ƒ}||djSqWt SdS(Nsusernamespassword( s listOneUsersselfsnamesresultspeoples remoteAuthspasswords cryptPasswordssecretsNone(sselfs listOneUserspasswordsrequests remoteAuthspeoplessecretsresult((sB/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/User.pys authenticatešscCs|io|iiƒndS(N(sselfs _propSourcesflushTempProperties(sself((sB/mnt/gmirror/ports/www/zope-exuserfolder/work/exUserFolder/User.pysnotifyCacheRemoval¦s cCs8hd|i<d|i<d|i<d|is +–