Viewing File: /usr/local/cpanel/3rdparty/mailman/Mailman/Pending.pyc

ó
)¿Úhc@sdZddlZddlZddlZddlZddlZddlmZddlmZddl	m
Z
dZdZdZ
d	Zd
ZdZeee
eeefZyeefWnek
rÛdZd
ZnXgZddd„ƒYZd„ZdS(s1Track pending actions which require confirmation.iÿÿÿÿN(tmm_cfg(tUserDesc(tsha_newtStUtCtHtEtPiitPendingcBsGeZd„Zd„Zd„Zd„Zed„Zej	d„Z
RS(cCs"tjj|jƒdƒ|_dS(Nspending.pck(tostpathtjointfullpatht_Pending__pendfile(tself((s5/usr/local/cpanel/3rdparty/mailman/Mailman/Pending.pytInitTempVars7sc
Os÷|tkstd|ƒ‚|jdtjƒ}|jƒsCt‚|jƒ}xctr´tjƒ}t	j	ƒ|dtj
ƒd}tt|ƒƒj
ƒ}|j|ƒsRPqRqRW|f|||<|jdiƒ}	|||	|<|j|ƒ|S(sMCreate a new entry in the pending database, returning cookie for it.
        sop: %stlifetimegð?t	evictions(t_ALLKEYStAssertionErrortgetRtPENDING_REQUEST_LIFEtLockedt_Pending__loadtTruettimetrandomtclockRtreprt	hexdigestthas_keyt
setdefaultt_Pending__save(
RtoptcontenttkwsRtdbtnowtxtcookieR((s5/usr/local/cpanel/3rdparty/mailman/Mailman/Pending.pytpend_new:s	"
cCslyt|jƒ}Wn3tk
rH}|jtjkr=‚niid6SXztj|ƒSWd|jƒXdS(NR(topenRtIOErrorterrnotENOENTtcPickletloadtclose(Rtfpte((s5/usr/local/cpanel/3rdparty/mailman/Mailman/Pending.pyt__loadZsc
CsN|d}tjƒ}xS|jƒD]E\}}|dkrAq#n||}||kr#||=||=q#q#Wx-|jƒD]}|j|ƒsy||=qyqyWtj|d<d|jtjƒ|f}tj	dƒ}zet
|dƒ}	z1tj||	ƒ|	j
ƒtj|	jƒƒWd|	jƒXtj||jƒWdtj	|ƒXdS(NRtversions%s.tmp.%d.%ditw(s	evictionssversion(RtitemstkeysRRtPENDING_FILE_SCHEMA_VERSIONRR
tgetpidtumaskR*R.tdumptflushtfsynctfilenoR0trename(
RR%RR&R(tdatat	timestampttmpfiletomaskR1((s5/usr/local/cpanel/3rdparty/mailman/Mailman/Pending.pyt__savees0



cCsv|jƒ}|s|j|ƒS|jƒs1t‚|j|tƒ}|tkrSdS||=|d|=|j|ƒ|S(s Return data for cookie, or None if not found.

        If optional expunge is True (the default), the record is also removed
        from the database.
        RN(RRRRt_missingtNoneR!(RR(texpungeR%R#((s5/usr/local/cpanel/3rdparty/mailman/Mailman/Pending.pytpend_confirmƒs

cCsQ|jƒst‚|jƒ}|||<tjƒ||d|<|j|ƒdS(NR(RRRRR!(RR(R@RR%((s5/usr/local/cpanel/3rdparty/mailman/Mailman/Pending.pytpend_repend™s

(t__name__t
__module__RR)RR!RRHRRRI(((s5/usr/local/cpanel/3rdparty/mailman/Mailman/Pending.pyR	6s		 		cCs¼i}|jdƒr|d=n|jdiƒ}x„|jƒD]v\}}t|ƒ}tjd|dddd|dd	|d
dtjƒ}t|f||<|dtj||<q>W|S(
NtlastculltimeRtaddressitfullnamettpassworditdigestitlangiÿÿÿÿ(	RR R6tstrRRtDEFAULT_SERVER_LANGUAGEtSUBSCRIPTIONR(tolddbR%RR(R@tud((s5/usr/local/cpanel/3rdparty/mailman/Mailman/Pending.pyt_update¢s
	

((t__doc__R
RR,RR.tMailmanRRt
Mailman.UtilsRRUtUNSUBSCRIPTIONtCHANGE_OF_ADDRESStHELD_MESSAGEt	RE_ENABLEtPROBE_BOUNCERRtFalset	NameErrorRER	RX(((s5/usr/local/cpanel/3rdparty/mailman/Mailman/Pending.pyt<module>s2

l
Back to Directory File Manager