%PDF- %PDF-
Mini Shell

Mini Shell

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

�
��ac@s�ddlZddlZddlZddlZddlZddlmZejZyddlZeZ	Wne
k
r�ddl	Z	nXddd��YZdejfd��YZ
dS(i����N(tLockFilet	DumbBTreecBs�eZdZd�Zd�Zdd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zd�Zd�Zd�ZRS(stStores pickles of Article objects

    This dictionary-like object stores pickles of all the Article
    objects.  The object itself is stored using marshal.  It would be
    much simpler, and probably faster, to store the actual objects in
    the DumbBTree and pickle it.

    TBD: Also needs a more sensible name, like IteratableDictionary or
    SortedDictionary.
    cCs^d|_||_tj|jd�|_|j�d|_i|_g|_|j�dS(Nis.lock(	t
current_indextpathRtlockfiletlockt_DumbBTree__dirtytdicttsortedtload(tselfR((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyt__init__:s		
			cCsd|jS(Ns
DumbBTree(%s)(R(R
((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyt__repr__DscCsD|jdks|r@|jj�|_|jj�d|_ndS(Nii(RRtkeysRtsort(R
tdirty((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyt__sortGs
cCs|jj�dS(N(RR(R
((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyRMscCs,y|jj�Wntjk
r'nXdS(N(RtunlockRtNotLockedError(R
((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyRPscCs�|jdkr&|j|=d|_dSy|j|j}Wntk
rSd}nX||kr�y|j|jd}Wq�tk
r�d}q�Xn|j|=|jdd�|dk	r�|jj|�|_n|jd|_dS(NiiR(RRRRt
IndexErrortNonet_DumbBTree__sorttindex(R
titemtci((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyt__delitem__Vs$
	




cCs
i|_dS(N(R(R
((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pytclearlscCsG|j�|jst�n'|jd}d|_||j|fSdS(Nii(RRtKeyErrorRR(R
tkey((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pytfirstqs
		
	cCsJ|jst�n4|jd}t|j�d|_||j|fSdS(Ni����i(RRtlenRR(R
R((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pytlastzs
		
cCsOy|j|j}Wntk
r-t�nX|jd|_||j|fS(Ni(RRRRR(R
R((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pytnext�s

cCs|jj|�S(N(Rthas_key(R
R((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyR!�scCshd}|j�xE|jD]:}|d|krJ||_||j|fS|d}qWt|��dS(Nii(RRRRR(R
tlocRR((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pytset_location�s
	cCs|j|S(N(R(R
R((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyt__getitem__�scCs�|jdkr)||j|<d|_dSy|j|j}Wntk
rV|}nX||j|<|jdd�|jj|�|_dS(NiiR(RRRRRRR(R
Rtvaltcurrent_item((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyt__setitem__�s
	


cCs
t|j�S(N(RR(R
((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyt__len__�scCs�y7t|j�}ztj|�|_Wd|j�XWn;tk
rd}|jtjkr��q�n!t	k
rtnX|j
dd�dS(NRi(topenRtmarshalR	RtclosetIOErrorterrnotENOENTtEOFErrorR(R
tfpte((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyR	�s
cCsgtjd�}zt|jd�}Wdtj|�X|jtj|j��|j�|j	�dS(Nitw(
tostumaskR)RtwriteR*tdumpsRR+R(R
tomaskR0((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyR+�s
N(t__name__t
__module__t__doc__RRRRRRRRRRR R!R#R$R'R(R	R+(((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyR.s$
	
											
				t
HyperDatabasecBs�eZejjZd�Zd�Zd�Zd�Z	dddd�Zd�Zd�Zd�Z
d�Zd	�Zd
�Zd�Zd�Zd
�Zd�Zd�ZRS(cCs=i|_d|_||_tjj|�|_i|_dS(N(	t_HyperDatabase__cacheRt"_HyperDatabase__currentOpenArchivet_mlistR3Rt
expandusertbasedirtchanged(R
R@tmlist((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyR�s
			cCsf|j|�d}y;|jj�\}}tjtjt|d���}Wntk
ranX|S(NRi(t_HyperDatabase__openIndicest	dateIndexRttimetasctimet	localtimetfloatR(R
tarchivetdatetdatekeytmsgid((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyt	firstdate�s
&
cCsf|j|�d}y;|jj�\}}tjtjt|d���}Wntk
ranX|S(NRi(RCRDRRERFRGRHR(R
RIRJRKRL((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pytlastdate�s
&
cCs|j|�t|j�S(N(RCRRD(R
RI((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pytnumArticles�s
cCs*|j|�|j|||||�dS(N(RCt _HyperDatabase__super_addArticle(R
RItarticletsubjecttauthorRJ((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyt
addArticle�s
cCs�|j|krdS|j�tjj|jd�}tjd�}zFytj|d�Wn+tk
r�}|j	t	j
kr��q�nXWdtj|�XxEdD]=}ttjj||d	|��}t||d
|�q�W||_dS(Ntdatabaseii�RJRSRRRQtthreadt-tIndex(sdatesauthorssubjectsarticleRV(
R=t_HyperDatabase__closeIndicesR3RtjoinR@R4tmkdirtOSErrorR-tEEXISTRtsetattr(R
RItarcdirR7R1titt((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyt
__openIndices�s 

#cCs�x�dD]�}|d}t||�rt||�}|dkr{t|d�s\i|_nt|�}||j|j<n|j�t||�qqWd|_dS(	NRJRSRRRVRQRXtarchive_length(sdatesauthorssubjectsthreadsarticle(thasattrtgetattrRcRR=R+tdelattrR(R
R`tattrRtl((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyt__closeIndicess


cCs|j�dS(N(RY(R
((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyR+scCs|j|�|jj|�S(N(RCtarticleIndexR!(R
RIRL((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyt
hasArticles
cCs|j|�||j|<dS(N(RCtthreadIndex(R
RIRRL((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pytsetThreadKeys
cCsj|j|�|jj|�sY|j|}tj|�}|j|<|j|j�n
|j|}|S(N(RCR<R!RjtpickletloadstsetListIfUnsetR>(R
RIRLtbufRQ((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyt
getArticles


cCsS|j|�t||d�}y|j�\}}|SWntk
rNdSXdS(NRX(RCReRRR(R
RIRRRL((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyR*s

cCsS|j|�t||d�}y|j�\}}|SWntk
rNdSXdS(NRX(RCReR RR(R
RIRRRL((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyR 3s

cCs|j|�|j�}yM|jj|�|jj�\}}|d \}}||kradS|SWntk
rzdSXdS(Ni(RCtlowertsubjectIndexR#R RR(R
RIRRRttempidtsubject2RJ((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pytgetOldestArticle<s

cCsdS(N((R
RI((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyt
newArchiveHscCs�|j|�t|jd�r0|jj�dSd}y|jj�\}}Wntk
rhd}nXxG|s�|j|=y|jj�\}}Wqltk
r�d}qlXqlWdS(NRii(RCRdRlRRRR (R
RIRtfinishedRRL((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyt
clearIndexKs



	

N(R8R9t	pipermailtDatabaseRTRPRRMRNRORRCRYR+RkRmRrRR RwRxRz(((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyR;�s$		
	
													((R3R*RER-R{tMailmanRt	CACHESIZEtcPickleRntImportErrorRR|R;(((sl/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Archiver/HyperDatabase.pyt<module>s	

�

Zerion Mini Shell 1.0