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

ó
*¿Úhc@sûdZddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddlm
Z
ddlmZddl
mZdZyeefWnek
rÑd	Zd
ZnXeZdZdZd
dd„ƒYZdS(s:Reading and writing message objects and message metadata.
iÿÿÿÿN(tmm_cfg(tUtils(tMessage(tsyslog(tsha_newlÿÿÿÿÿÿÿÿÿÿÿiig-Cëâ6?itSwitchboardcBsYeZd	ded„Zd„Zid„Zd„Zed„Zdd„Z	d„Z
RS(
icCsÜ||_tjdƒ}zIytj|jdƒWn+tk
r_}|jtjkr`‚q`nXWdtj|ƒXd|_d|_	|dkrÅt
d|||_t
d|d|d|_	n|rØ|jƒndS(Niiøi(t_Switchboard__whichqtostumasktmkdirtOSErrorterrnotEEXISTtNonet_Switchboard__lowert_Switchboard__uppertshamaxtrecover_backup_files(tselftwhichqtslicet	numslicestrecovertomaskte((s?/usr/local/cpanel/3rdparty/mailman/Mailman/Queue/Switchboard.pyt__init__Js 			 cCs|jS(N(R(R((s?/usr/local/cpanel/3rdparty/mailman/Mailman/Queue/Switchboard.pyR`scKsË|jƒ}|j|ƒ|jddƒ}tjƒ}trh|jdƒrhd}tj||ƒ}nd}tjt|ƒ|ƒ}|||
}	|jd|ƒ}
|

dt	|	ƒj
ƒ}tjj
|j|dƒ}|d	}
tj|d
<x-|jƒD]}|jdƒr||=qqW|dk|d<tjd
ƒ}zbt|
dƒ}zA|j|ƒtj|||ƒ|jƒtj|jƒƒWd|jƒXWdtj|ƒXtj|
|ƒ|S(Ntlistnames
--nolist--t
_plaintextiit
received_timet+s.pcks.tmptversiont_t	_parsemsgitw(tcopytupdatetgetttimetSAVE_MSGS_AS_PICKLEStcPickletdumpststrt
setdefaultRt	hexdigestRtpathtjoinRRtQFILE_SCHEMA_VERSIONtkeyst
startswithRtopentwritetdumptflushtfsynctfilenotclosetrename(Rt_msgt	_metadatat_kwstdataRtnowtprotocoltmsgsavethashfoodtrcvtimetfilebasetfilenamettmpfiletkRtfp((s?/usr/local/cpanel/3rdparty/mailman/Mailman/Queue/Switchboard.pytenqueuecs>




cCsµtjj|j|dƒ}tjj|j|dƒ}t|ƒ}tj||ƒz"tj|ƒ}tj|ƒ}Wd|jƒX|j	dƒr«t
j|tjƒ}n||fS(Ns.pcks.bakR (
RR,R-RR1R8R'tloadR7R$temailtmessage_from_stringR(RRBRCtbackfileRFtmsgR<((s?/usr/local/cpanel/3rdparty/mailman/Mailman/Queue/Switchboard.pytdequeue•scCsøtjj|j|dƒ}y¯|r½tjjtj|dƒ}tjdƒ}zIytjtjdƒWn+tk
r—}|j	t	j
kr˜‚q˜nXWdtj|ƒXtj||ƒn
tj|ƒWn&t
k
ró}tdd||ƒnXdS(Ns.baks.psviiøterrors,Failed to unlink/preserve backup file: %s
%s(RR,R-RRtBADQUEUE_DIRRR	R
RRR8tunlinktEnvironmentErrorR(RRBtpreservetbakfiletpsvfileRR((s?/usr/local/cpanel/3rdparty/mailman/Mailman/Queue/Switchboard.pytfinish¨s"	s.pckc
Csi}|j}|j}xÃtj|jƒD]¯}tjj|ƒ\}}||kr[q+n|jdƒ\}}	|dks¡|t	|	dƒkoœ|knr+t
|ƒ}
x|j|
ƒrÌ|
t7}
q°W|||
<q+q+W|j
ƒ}|jƒg|D]}||^qûS(NRi(RRRtlistdirRR,tsplitexttsplitR
tlongtfloatthas_keytDELTAR/tsort(
Rt	extensionttimestlowertuppertfRBtexttwhentdigesttkeyR/RE((s?/usr/local/cpanel/3rdparty/mailman/Mailman/Queue/Switchboard.pytfiles¾s 		1
c
Csªx£|jdƒD]’}tjj|j|dƒ}tjj|j|dƒ}t|dƒ}z7y.tj|ƒ}|jƒ}tj|ƒ}Wn=t	k
rÍ}t
ddd||ƒ|j|dtƒnÆX|j
dd	ƒd
|d<|j|ƒ|jdƒr
d	}	nd
}	tj|||	ƒ|jƒ|jƒtj|jƒƒ|dtkrƒt
dd|ƒ|j|dtƒntj||ƒWd|jƒXqWdS(
Ns.baks.pcksrb+RNsUnpickling .bak exception: %s
spreserving file: %sRRt
_bak_countiiR s(.bak file max count, preserving file: %s(RgRR,R-RR1R'RHttellt	ExceptionRRUtTrueR*tseekR$R3ttruncateR4R5R6t
MAX_BAK_COUNTR8R7(
RRBtsrctdstRFRLtdata_posR<tsR>((s?/usr/local/cpanel/3rdparty/mailman/Mailman/Queue/Switchboard.pyRÖs:	
	

N(t__name__t
__module__R
tFalseRRRGRMRURgR(((s?/usr/local/cpanel/3rdparty/mailman/Mailman/Queue/Switchboard.pyRIs	2	((t__doc__RR%RIRR'tmarshaltMailmanRRRtMailman.Logging.SyslogRt
Mailman.UtilsRRRkRut	NameErrorR&R\RnR(((s?/usr/local/cpanel/3rdparty/mailman/Mailman/Queue/Switchboard.pyt<module>s*


Back to Directory File Manager