%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/mailman/Mailman/
Upload File :
Create Path :
Current File : //lib/mailman/Mailman/ListAdmin.pyo

�
��ac@s�dZddlZddlZddlZddlZddlZddlmZddlZddl	m
Z
ddlmZddl
mZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZejZdZdZdZdZdZ dZ!dZ"dZ#dZ$ye%e&fWne'k
rzdZ%dZ&nXdfd��YZ(d�Z)dS(sMixin class for MailList which handles administrative requests.

Two types of admin requests are currently supported: adding members to a
closed or semi-closed list, and moderated posts.

Pending subscriptions which are requiring a user's confirmation are handled
elsewhere.
i����N(tStringIO(tMIMEMessage(t	Generator(tgetaddresses(tmm_cfg(tUtils(tMessage(tErrors(tUserDesc(tget_switchboard(tsyslog(ti18niiiit-s
t	ListAdmincBs�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zddddd
�Zid�Zd�Zd�Zd�Zd�Zd�Zddd�Zd�ZRS(cCs
d|_dS(Ni(tnext_request_id(tself((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pytInitVarsHscCs+d|_tjj|j�d�|_dS(Nsrequest.pck(tNonet_ListAdmin__dbtostpathtjointfullpatht_ListAdmin__filename(R((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pytInitTempVarsLs	cCs�|jdkr�y7t|j�}ztj|�|_Wd|j�XWq�tk
r�}|jtj	krp�ni|_t
tjf|jd<q�XndS(Ntversion(
RRtopenRtcPickletloadtclosetIOErrorterrnotENOENTtIGNRtREQUESTS_FILE_SCHEMA_VERSION(Rtfpte((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pyt__opendbPs	cCs�|jdk	r�ttjf|jd<|jd}tjd�}zXt|d�}z7t	j
|j|d�|j�tj|j
��Wd|j�XWdtj|�Xd|_tj||j�ndS(NRs.tmpitwi(RRR!RR"RRtumaskRRtdumptflushtfsynctfilenoRtrename(RttmpfiletomaskR#((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pyt	__closedb_s

	cCs?x8tr:|j}|jd7_|jj|�sPqqW|S(Ni(tTrueRRthas_key(Rtnext((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pyt__nextidws		cCs|j�dS(N(t_ListAdmin__closedb(R((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pytSaveRequestsDb�scCs|j�t|j�dS(Ni(t_ListAdmin__opendbtlenR(R((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pytNumRequestsPending�s
cCsR|j�g|jj�D]$\}\}}||kr|^q}|j�|S(N(R6Rtitemstsort(Rtrtypetktoptdatatids((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pyt__getmsgids�s
:
cCs
|jt�S(N(t_ListAdmin__getmsgidstHELDMSG(R((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pytGetHeldMessageIds�scCs
|jt�S(N(RAtSUBSCRIPTION(R((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pytGetSubscriptionIds�scCs
|jt�S(N(RAtUNSUBSCRIPTION(R((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pytGetUnsubscriptionIds�scCs!|j�|j|\}}|S(N(R6R(RtidttypeR>((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pyt	GetRecord�s
cCs!|j�|j|\}}|S(N(R6R(RRHRIR>((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pyt
GetRecordType�s
c
Cs�|j�|j|\}}|tkrJ|j||||||�}	n9|tkrn|j|||�}	n|j|||�}	|	tkr�|j|=ndS(N(R6RRBt_ListAdmin__handlepostRFt _ListAdmin__handleunsubscriptiont_ListAdmin__handlesubscriptiontDEFER(
RRHtvaluetcommenttpreservetforwardtaddrR;R>tstatus((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pyt
HandleRequest�s
c
Csp|j�}|j�|j�}|j�}tjr@d}nd}d|j�||f}tjd�}z�t	tj
jtj|�d�}	z\tjr�t
j||	d�nt|	�}
|
j|d�|	j�tj|	j��Wd|	j�XWdtj|�X|jdtd��}|s;td	�}ntj�|||||f}t|f|j|<|S(
Ntpckttxtsheldmsg-%s-%d.%siR&itsubjects(no subject)s	<missing>(tcopyR6t_ListAdmin__nextidt
get_senderRtHOLD_MESSAGES_AS_PICKLESt
internal_nameRR'RRRtDATA_DIRRR(RtflattenR)R*R+Rtgett_ttimeRBR(
RtmsgtreasontmsgdataRHtsendertexttfilenameR.R#tgt
msgsubjectR>((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pytHoldMessage�s4
		!	
c#Cs�|\}}}	}
}}tjjtj|�}
|rHtjj|
�djt�}d|d<tj|�}yt|
�}Wn,tk
r�}|j	t	j
kr��ntSXztj
|�}Wd|j�Xtjjtj|�}tjj|�\}}|d}t|d�}z t|�}|j|d�Wd|j�Xnd}d}d}t}|tjkrxt}nZ|tjkr_yt|
�}Wn,tk
r�}|j	t	j
kr��ntSXt|
�}d|d<d|d<y|d=Wntk
rnXtjjd	d�|d
<tdd|jd
d��ttj�}|j |d|�ns|tj!kr�d}|j"|�}tj#|	tj$|��}	|j%t&d�||p�t&d�d|�nd}|r|ryt|
�}Wn:tk
r*}|j	t	j
kr�nt'j(|
��nXt)|g�}t*|�dkrn|d\}}|j"|�}n(g|D]\}}|^qu}|j+}t,j-�} t,j.|�z+t/j0||j1�t&d�d|�}!Wdt,j2| �X|!j3d�|!j4|�|!j5|�n|r�di|j6�d6|d6t7|�j8dd�d6t7|	�j8dd�d6}"|r�|"d|j8dd�7}"ntd|"�n|tkr�ytj9|
�Wq�t:k
r�}|j	t	j
kr��ntSXn|S(Nitspamis.msgR&tapprovedt
adminapprovedtfilebaset	localtimesX-Mailman-Approved-Attvettes%held message approved, message-id: %ss
message-idsn/at	_metadatatRefuseds,Posting of your message titled "%(subject)s"s[No reason given]tlangt	DiscardedsForward of moderated messagesmessage/rfc822sL%(listname)s: %(rejection)s posting:
	From: %(sender)s
	Subject: %(subject)stlistnamet	rejectiont%s%%RgRYs

	Reason: (;RRRRR_tsplittDASHRRRR tLOSTRRRtSPAM_DIRtsplitextRR`RtREMOVEROtAPPROVEtreadMessagetKeyErrortemailRt
formatdateR
RaR	tINQUEUE_DIRtenqueuetREJECTtgetMemberLanguagetonelinet
GetCharSett_ListAdmin__refuseRbRtLostHeldMessageRR7tpreferred_languageRtget_translationtset_languageRtUserNotificationtGetBouncesEmailtset_translationtset_typetattachtsendR^tstrtreplacetunlinktOSError(#RtrecordRPRQRRRSRTtptimeRgRYReRiRfRtpartstspamfileR#R$RdtoutpaththeadRhtoutfpRjRxRUtinqRuRZtaddrstrealnametatotranstfmsgtnote((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pyt__handlepost�s�

	


	
	




c
Cs/|j�|j�}tj�|||||f}t|f|j|<tdd|j�|�|jr+tj	|j
�|j}td�}	t
jdi|d6|j�d6|jd6|jdd	d
�d6d|�}
|j�}tj|||	|
|j
�}|j|id
d
6�tj	|�ndS(NRrs%%s: held subscription request from %ss;New subscription request to list %(realname)s from %(addr)sssubauth.txttusernameRwthostnametadmindbtabsoluteitadmindb_urltmlistttomoderators(R6R[RcRDRR
R^tadmin_immed_notifyRR�R�t	real_nameRbRtmaketextt	host_nametGetScriptURLt
GetOwnerEmailRR�R�(
RRTtfullnametpasswordtdigestRuRHR>R�RYttextt	owneraddrRd((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pytHoldSubscriptionrs.

				


	cCs	|\}}}}}}	|tjkr+tS|tjkrVtdd|j�|�n�|tjkr�|jtd�||p�td�d|	�tdd|j�||p�d�nPy/t|||||	�}
|j	|
dd�Wnt
jk
r�nX|j�t
S(	NRrs*%s: discarded subscription request from %ssSubscription requests[No reason given]Rus5%s: rejected subscription request from %s
	Reason: %stwhencesvia admin approval(RROtDISCARDR
R^R�R�RbRtApprovedAddMemberRtMMAlreadyAMemberR6R(RR�RPRQtstimeRTR�R�R�Rutuserdesc((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pyt__handlesubscription�s&	
cCs�|j�|j�}t|f|j|<tdd|j�|�|jr�|j}td�}t	j
di|d6|j�d6|jd6|jdd	d
�d6d|�}|j
�}tj|||||j�}|j|id
d
6�ndS(NRrs'%s: held unsubscription request from %ss8New unsubscription request from %(realname)s by %(addr)ss
unsubauth.txtR�RwR�R�R�iR�R�R�(R6R[RFRR
R^R�R�RbRR�R�R�R�RR�R�R�(RRTRHR�RYR�R�Rd((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pytHoldUnsubscription�s(
				


	cCs�|}|tjkrtS|tjkrDtdd|j�|�nu|tjkr�|jtd�||�tdd|j�||p�d�n(y|j|�Wnt	j
k
r�nXtS(NRrs,%s: discarded unsubscription request from %ssUnsubscription requests7%s: rejected unsubscription request from %s
	Reason: %ss[No reason given](RROR�R
R^R�R�RbtApprovedDeleteMemberRtNotAMemberErrorR(RR�RPRQRT((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pyt__handleunsubscription�s	cCs|j}|dkr'|j|�}ntjdi|d6|d6|d6|j�d6d|d|�}tj�}tj|�zE|r�t	j
|dtd	�d
t|�g�}ntd�}	Wdtj
|�Xtj||j�|	||�}
|
j|�dS(Ns
refuse.txtRwtrequestRet	adminaddrRuR�s---------- sOriginal Messages ----------s-Request to mailing list %(realname)s rejected(R�RR�RR�R�RR�R�tNLRRbR�R�RR�R�(RR�trecipRQtorigmsgRuR�R�R�RYRd((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pyt__refuse�s.	

cCs�tjj|j�d�}yAt|�}ztj|�|_Wd|j�Xtj	|�Wn�t
k
r}|jtjkr��ntjj|j�d�}y4t|�}zt
j|�|_Wd|j�XWqt
k
r}|jtjkr��ni|_qXnXx�|jj�D]{\}}t|�dkrM|\}}nJt|�dkr�|dd
krxt}nt}||f|j|<q n|tkr4t|�dkr�|\}}	}
}d}|j}
n3t|�d	kr |\}}	}
}}
d}nq |||	||
||
ff|j|<q |tkr t|�d	kr |\}}}}}i}nq |||||||ff|j|<q q W|j�dS(Ns
request.dbsrequest.pckiiiiiti(ii(RRRRRtmarshalRRRR�RRR RR9R7RDRBR�R4(RRiR#R$RHtxR=tinfotwhenRTtpasswdR�R�RuRgRYReR�Rf((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pyt_UpdateRecordss`			N(t__name__t
__module__RRR6R4R[R5R8RARCRERGRJRKRRVRlRLR�RNR�RMR�R�(((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pyR
Gs.														2	�	+			cCsktjj|�d}t|�}z7|dkrItj|tj�}ntj|�}Wd|j	�X|S(Nis.txt(
RRR~RR�tmessage_from_fileRRRR(RRhR#Rd((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pyR�Xs(*t__doc__RRcRRR�t	cStringIORR�temail.MIMEMessageRtemail.GeneratorRtemail.UtilsRtMailmanRRRRtMailman.UserDescRtMailman.Queue.sbcacheR	tMailman.Logging.SyslogR
RRbR!RBRDRFRORR|R{R�R0tFalset	NameErrorR
R�(((s_/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/ListAdmin.pyt<module>sJ	

��

Zerion Mini Shell 1.0