shell bypass 403

UnknownSec Shell

: /lib64/python2.7/ [ drwxr-xr-x ]

name : mailbox.pyc
�
zfc@s�dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Zddl
ZddlZy(ejdkr�e
�nddlZWne
k
r�eZnXddlZej��0ejrejdde�nddlZWdQXdddd	d
ddd
dddddddddgZdfd��YZdefd��YZdefd��YZdefd��YZdefd��YZdefd��YZd	efd��YZd
efd ��YZdejj fd!��YZ d
e fd"��YZ!d#e fd$��YZ"de"fd%��YZ#de fd&��YZ$de fd'��YZ%de"fd(��YZ&d)fd*��YZ'd+e'fd,��YZ(e)d-�Z*d.�Z+d/�Z,d0�Z-d1�Z.d2�Z/d3fd4��YZ0de0fd5��YZ1de1fd6��YZ2de0fd7��YZ3dfd8��YZ4de0fd9��YZ5d:e6fd;��YZ7d<e7fd=��YZ8d>e7fd?��YZ9d@e7fdA��YZ:dBe7fdC��YZ;dS(DsDRead/write support for Maildir, mbox, MH, Babyl, and MMDF mailboxes.i����Ntos2emxtignores.*rfc822 has been removedtMailboxtMaildirtmboxtMHtBabyltMMDFtMessagetMaildirMessagetmboxMessaget	MHMessagetBabylMessagetMMDFMessagetUnixMailboxtPortableUnixMailboxtMmdfMailboxt	MHMailboxtBabylMailboxcBs4eZdZded�Zd�Zd�Zd�Zd�Z	d�Z
dd�Zd�Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zdd�Zd�Zdd�Zd�Zd�Zd�Z d�Z!e"Z#e"d�Z$RS( s*A group of messages in a particular place.cCs.tjjtjj|��|_||_dS(sInitialize a Mailbox instance.N(tostpathtabspatht
expandusert_patht_factory(tselfRtfactorytcreate((s/usr/lib64/python2.7/mailbox.pyt__init__+s!cCstd��dS(s$Add message and return assigned key.s&Method must be implemented by subclassN(tNotImplementedError(Rtmessage((s/usr/lib64/python2.7/mailbox.pytadd0scCstd��dS(s=Remove the keyed message; raise KeyError if it doesn't exist.s&Method must be implemented by subclassN(R(Rtkey((s/usr/lib64/python2.7/mailbox.pytremove4scCs|j|�dS(N(R!(RR ((s/usr/lib64/python2.7/mailbox.pyt__delitem__8scCs)y|j|�Wntk
r$nXdS(s'If the keyed message exists, remove it.N(R!tKeyError(RR ((s/usr/lib64/python2.7/mailbox.pytdiscard;s
cCstd��dS(s>Replace the keyed message; raise KeyError if it doesn't exist.s&Method must be implemented by subclassN(R(RR R((s/usr/lib64/python2.7/mailbox.pyt__setitem__BscCs*y|j|�SWntk
r%|SXdS(s9Return the keyed message, or default if it doesn't exist.N(t__getitem__R#(RR tdefault((s/usr/lib64/python2.7/mailbox.pytgetFs
cCs0|js|j|�S|j|j|��SdS(s=Return the keyed message; raise KeyError if it doesn't exist.N(Rtget_messagetget_file(RR ((s/usr/lib64/python2.7/mailbox.pyR&Ms	
cCstd��dS(s4Return a Message representation or raise a KeyError.s&Method must be implemented by subclassN(R(RR ((s/usr/lib64/python2.7/mailbox.pyR)TscCstd��dS(s3Return a string representation or raise a KeyError.s&Method must be implemented by subclassN(R(RR ((s/usr/lib64/python2.7/mailbox.pyt
get_stringXscCstd��dS(s6Return a file-like representation or raise a KeyError.s&Method must be implemented by subclassN(R(RR ((s/usr/lib64/python2.7/mailbox.pyR*\scCstd��dS(sReturn an iterator over keys.s&Method must be implemented by subclassN(R(R((s/usr/lib64/python2.7/mailbox.pytiterkeys`scCst|j��S(sReturn a list of keys.(tlistR,(R((s/usr/lib64/python2.7/mailbox.pytkeysdsccsEx>|j�D]0}y||}Wntk
r7q
nX|Vq
WdS(s%Return an iterator over all messages.N(R,R#(RR tvalue((s/usr/lib64/python2.7/mailbox.pyt
itervalueshs
cCs
|j�S(N(R0(R((s/usr/lib64/python2.7/mailbox.pyt__iter__qscCst|j��S(s,Return a list of messages. Memory intensive.(R-R0(R((s/usr/lib64/python2.7/mailbox.pytvaluestsccsKxD|j�D]6}y||}Wntk
r7q
nX||fVq
WdS(s.Return an iterator over (key, message) tuples.N(R,R#(RR R/((s/usr/lib64/python2.7/mailbox.pyt	iteritemsxs
cCst|j��S(s9Return a list of (key, message) tuples. Memory intensive.(R-R3(R((s/usr/lib64/python2.7/mailbox.pytitems�scCstd��dS(s9Return True if the keyed message exists, False otherwise.s&Method must be implemented by subclassN(R(RR ((s/usr/lib64/python2.7/mailbox.pythas_key�scCs
|j|�S(N(R5(RR ((s/usr/lib64/python2.7/mailbox.pyt__contains__�scCstd��dS(s*Return a count of messages in the mailbox.s&Method must be implemented by subclassN(R(R((s/usr/lib64/python2.7/mailbox.pyt__len__�scCs(x!|j�D]}|j|�q
WdS(sDelete all messages.N(R,R$(RR ((s/usr/lib64/python2.7/mailbox.pytclear�scCs4y||}Wntk
r"|SX|j|�|S(s3Delete the keyed message and return it, or default.(R#R$(RR R'tresult((s/usr/lib64/python2.7/mailbox.pytpop�s

cCs7x0|j�D]}||j|�fSWtd��dS(s6Delete an arbitrary (key, message) pair and return it.sNo messages in mailboxN(R,R:R#(RR ((s/usr/lib64/python2.7/mailbox.pytpopitem�scCs�t|d�r|j�}n$t|d�r<|j�}n|}t}x<|D]4\}}y|||<WqOtk
r�t}qOXqOW|r�td��ndS(s4Change the messages that correspond to certain keys.R3R4sNo message with key(s)N(thasattrR3R4tFalseR#tTrue(Rtargtsourcetbad_keyR R((s/usr/lib64/python2.7/mailbox.pytupdate�s
cCstd��dS(s&Write any pending changes to the disk.s&Method must be implemented by subclassN(R(R((s/usr/lib64/python2.7/mailbox.pytflush�scCstd��dS(sLock the mailbox.s&Method must be implemented by subclassN(R(R((s/usr/lib64/python2.7/mailbox.pytlock�scCstd��dS(s#Unlock the mailbox if it is locked.s&Method must be implemented by subclassN(R(R((s/usr/lib64/python2.7/mailbox.pytunlock�scCstd��dS(sFlush and close the mailbox.s&Method must be implemented by subclassN(R(R((s/usr/lib64/python2.7/mailbox.pytclose�sc	Cs	t|tjj�r�tj�}tjj||d�}|j|�|jd�|j	�j
dtj�}|j
|�|jr|jtj�r|j
tj�qnXt|t�r+|r�|j
dd�}n|j
dtj�}|j
|�|jr|jtj�r|j
tj�qn�t|d�r�d}xttr�|j�}|dkrePn|r�|jd�r�d|d	}n|j
dtj�}|j
|�|}qCW|jr|r|jtj�r|j
tj�qntd
t|���dS(s%Dump message contents to target file.is
s
From s
>From treadtsFrom s>From isInvalid message type: %sN(t
isinstancetemailRRtStringIOt	generatort	GeneratortflattentseekRGtreplaceRtlineseptwritet_append_newlinetendswithtstrR<tNoneR>treadlinet
startswitht	TypeErrorttype(	RRttargettmangle_from_tbuffertgentdatatlastlinetline((s/usr/lib64/python2.7/mailbox.pyt
_dump_message�s<



	

"N(%t__name__t
__module__t__doc__RVR>RRR!R"R$R%R(R&R)R+R*R,R.R0R1R2R3R4R5R6R7R8R:R;RBRCRDRERFR=RSRb(((s/usr/lib64/python2.7/mailbox.pyR(s@																												cBs�eZdZdZejed�Zd�Zd�Z	d�Z
d�Zd�Zd�Z
d	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdZd�Zd�Zd�Zd�ZRS(sA qmail-style Maildir mailbox.t:cCs
tj||||�itjj|jd�d6tjj|jd�d6tjj|jd�d6|_tjj|j�s�|r�tj|jd�x9|jj	�D]}tj|d�q�Wq�t
|j��ni|_idd6dd6|_d|_
d|_dS(sInitialize a Maildir instance.ttmptnewtcuri�ig�������?N(RRRRtjoinRt_pathstexiststmkdirR2tNoSuchMailboxErrort_toct_toc_mtimest
_last_readt_skewfactor(RtdirnameRRR((s/usr/lib64/python2.7/mailbox.pyR�s		cCs�|j�}y|j||�Wn.tk
rP|j�tj|j��nXt|�t|t	�r�|j
�}|j|j�}||jkr�d}q�nd}d}tj
j|j�j|j�d}tj
j|j|||�}t|t	�r4tj|jtj
j|j�|j�f�nyLttd�rltj|j|�tj|j�ntj|j|�WnKtk
r�}tj|j�|jtjkr�td|��q��nX|S(s$Add message and return assigned key.RHRhitlinks$Name clash with existing message: %s(t_create_tmpRbt
BaseExceptionRFRR!tnamet_sync_closeRIR	t
get_subdirtcolontget_infoRtbasenametsplitRjRtutimetgetatimetget_dateR<RttrenametOSErrorterrnotEEXISTtExternalClashError(RRttmp_filetsubdirtsuffixtuniqtdestte((s/usr/lib64/python2.7/mailbox.pyRs@


%%
cCs,tjtjj|j|j|���dS(s=Remove the keyed message; raise KeyError if it doesn't exist.N(RR!RRjRt_lookup(RR ((s/usr/lib64/python2.7/mailbox.pyR!4scCsSy|j|�Wn;tk
r$n+tk
rN}|jtjkrO�qOnXdS(s'If the keyed message exists, remove it.N(R!R#R�R�tENOENT(RR R�((s/usr/lib64/python2.7/mailbox.pyR$8s
cCs$|j|�}|j|�}|j|�}t|t�rE|}n|}tjj|�}|j|kr�|j|j|j�d}nd}|j	|�tjj
|j|�}	tjj
|j|||�}
t|t�rtj|	tjj
|	�|j�f�ntj|	|
�dS(s>Replace the keyed message; raise KeyError if it doesn't exist.i����RHN(R�RRIR	RRRsRzR}R$RjRR~RR�R�(RR Rtold_subpathttemp_keyttemp_subpathtdominant_subpathR�R�ttmp_pathtnew_path((s/usr/lib64/python2.7/mailbox.pyR%Cs"	 
	"cCs�|j|�}ttjj|j|�d�}z+|jrN|j|�}nt|�}Wd|j�Xtjj	|�\}}|j
|�|j|kr�|j|j	|j�d�n|j
tjjtjj|j|���|S(s4Return a Message representation or raise a KeyError.trNi����(R�topenRRRjRRR	RFR}t
set_subdirRztset_infotset_datetgetmtime(RR tsubpathtftmsgR�Rw((s/usr/lib64/python2.7/mailbox.pyR)^s!	
 +cCsJttjj|j|j|��d�}z|j�SWd|j�XdS(s3Return a string representation or raise a KeyError.R�N(R�RRRjRR�RGRF(RR R�((s/usr/lib64/python2.7/mailbox.pyR+ps*cCs4ttjj|j|j|��d�}t|�S(s6Return a file-like representation or raise a KeyError.trb(R�RRRjRR�t
_ProxyFile(RR R�((s/usr/lib64/python2.7/mailbox.pyR*xs*ccsO|j�x>|jD]3}y|j|�Wntk
rAqnX|VqWdS(sReturn an iterator over keys.N(t_refreshRoR�R#(RR ((s/usr/lib64/python2.7/mailbox.pyR,}s

cCs|j�||jkS(s9Return True if the keyed message exists, False otherwise.(R�Ro(RR ((s/usr/lib64/python2.7/mailbox.pyR5�s
cCs|j�t|j�S(s*Return a count of messages in the mailbox.(R�tlenRo(R((s/usr/lib64/python2.7/mailbox.pyR7�s
cCsdS(s"Write any pending changes to disk.N((R((s/usr/lib64/python2.7/mailbox.pyRC�scCsdS(sLock the mailbox.N((R((s/usr/lib64/python2.7/mailbox.pyRD�scCsdS(s#Unlock the mailbox if it is locked.N((R((s/usr/lib64/python2.7/mailbox.pyRE�scCsdS(sFlush and close the mailbox.N((R((s/usr/lib64/python2.7/mailbox.pyRF�scCs�g}xttj|j�D]`}t|�dkr|ddkrtjjtjj|j|��r|j|d�qqW|S(sReturn a list of folder names.iit.(RtlistdirRR�RtisdirRjtappend(RR9tentry((s/usr/lib64/python2.7/mailbox.pytlist_folders�s"$cCs/ttjj|jd|�d|jdt�S(s/Return a Maildir instance for the named folder.R�RR(RRRRjRRR=(Rtfolder((s/usr/lib64/python2.7/mailbox.pyt
get_folder�s	cCs�tjj|jd|�}t|d|j�}tjj|d�}tjj|�s�tjtj|tj	tj
Bd��n|S(s>Create a folder and return a Maildir instance representing it.R�Rt
maildirfolderi�(RRRjRRRRlRFR�tO_CREATtO_WRONLY(RR�RR9tmaildirfolder_path((s/usr/lib64/python2.7/mailbox.pyt
add_folder�s
cCs�tjj|jd|�}xwtjtjj|d��tjtjj|d��D];}t|�dks|ddkrWtd|��qWqWWxutj|�D]d}|dkr�|dkr�|dkr�tjjtjj||��r�td||f��q�q�Wx�tj|d	t	�D]i\}}}x*|D]"}tj
tjj||��q:Wx*|D]"}tjtjj||��qgWq$Wtj|�d
S(s-Delete the named folder, which must be empty.R�RhRiiisFolder contains message(s): %sRgs%Folder contains subdirectory '%s': %sttopdownN(RRRjRR�R�t
NotEmptyErrorR�twalkR=R!trmdir(RR�RR�troottdirstfiles((s/usr/lib64/python2.7/mailbox.pyt
remove_folder�s #"$!%
 
$cCs�tj�}xptjtjj|jd��D]M}tjj|jd|�}|tjj|�dkr.tj|�q.q.WdS(sDelete old files in "tmp".Rgi@�N(ttimeRR�RRjRRR!(RtnowR�R((s/usr/lib64/python2.7/mailbox.pytclean�s
(icCsItj�}tj�}d|kr9|jdd�}nd|krZ|jdd�}ndt|�t|dd�tj�tj|f}tj	j
|jd|�}ytj|�Wnvt
k
r4}|jtjkr.tjd7_yt|�SWq1t
k
r*}|jtjkr+�q+q1Xq5�nXtd	|��d
S(s=Create a file in the tmp subdirectory and open and return it.t/s\057Rfs\072s%s.M%sP%sQ%s.%sig��.ARgs&Name clash prevented file creation: %sN(R�tsockettgethostnameRPtintRtgetpidRt_countRRjRtstatR�R�R�t_create_carefullyR�R�(RR�thostnameR�RR�((s/usr/lib64/python2.7/mailbox.pyRu�s,&
cCs?tj�|jd|jkr�t}xS|jD]H}tjj|j|�}||j|krkt	}n||j|<q0W|s�dSni|_
x�|jD]�}|j|}xvtj|�D]e}tjj||�}tjj
|�r�q�n|j|j�d}tjj||�|j
|<q�Wq�Wtj�|_dS(s!Update table of contents mapping.iNi(R�RqRrR=RpRRR�RkR>RoR�RjR�R}Rz(RtrefreshR�tmtimeRR�tpR�((s/usr/lib64/python2.7/mailbox.pyR��s& 		
$cCs�y:tjjtjj|j|j|��r9|j|SWntk
rMnX|j�y|j|SWn!tk
r�td|��nXdS(s=Use TOC to return subpath for given key, or raise a KeyError.sNo message with key: %sN(RRRlRjRRoR#R�(RR ((s/usr/lib64/python2.7/mailbox.pyR�s+


cCsot|d�s!|j�|_nxGtrjy||jj�SWq$tk
rSdStk
rfq$q$Xq$WdS(s0Return the next message in a one-time iteration.t
_onetime_keysN(R<R,R�R>tnextt
StopIterationRVR#(R((s/usr/lib64/python2.7/mailbox.pyR�'s	

( RcRdReRztrfc822RR>RRR!R$R%R)R+R*R,R5R7RCRDRERFR�R�R�R�R�R�RuR�R�R�(((s/usr/lib64/python2.7/mailbox.pyR�s6	)							
										
				$	t_singlefileMailboxcBs�eZdZded�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zdd�Zd�ZRS(sA single-file mailbox.cCs�tj||||�yt|jd�}Wn�tk
r�}|jtjkr}|rkt|jd�}q�t|j��q�|jtjtj	fkr�t|jd�}q��nX||_
d|_d|_
t|_t|_t|_d|_dS(s!Initialize a single-file mailbox.srb+swb+R�iN(RRR�RtIOErrorR�R�RntEACCEStEROFSt_fileRVRot	_next_keyR=t_pendingt
_pending_synct_lockedt_file_length(RRRRR�R�((s/usr/lib64/python2.7/mailbox.pyR7s$						cCsF|j�|j|�|j|j<|jd7_t|_|jdS(s$Add message and return assigned key.i(R�t_append_messageRoR�R>R�(RR((s/usr/lib64/python2.7/mailbox.pyRNs

	cCs$|j|�|j|=t|_dS(s=Remove the keyed message; raise KeyError if it doesn't exist.N(R�RoR>R�(RR ((s/usr/lib64/python2.7/mailbox.pyR!Xs

cCs0|j|�|j|�|j|<t|_dS(s>Replace the keyed message; raise KeyError if it doesn't exist.N(R�R�RoR>R�(RR R((s/usr/lib64/python2.7/mailbox.pyR%^s
ccs-|j�x|jj�D]}|VqWdS(sReturn an iterator over keys.N(R�RoR.(RR ((s/usr/lib64/python2.7/mailbox.pyR,ds
cCs|j�||jkS(s9Return True if the keyed message exists, False otherwise.(R�Ro(RR ((s/usr/lib64/python2.7/mailbox.pyR5js
cCs|j�t|j�S(s*Return a count of messages in the mailbox.(R�R�Ro(R((s/usr/lib64/python2.7/mailbox.pyR7os
cCs&|js"t|j�t|_ndS(sLock the mailbox.N(R�t
_lock_fileR�R>(R((s/usr/lib64/python2.7/mailbox.pyRDts	
cCs&|jr"t|j�t|_ndS(s#Unlock the mailbox if it is locked.N(R�t_unlock_fileR�R=(R((s/usr/lib64/python2.7/mailbox.pyREzs	
cCs�|js/|jr+t|j�t|_ndS|jdk	sDt�|jjdd�|jj	�}||j
kr�td|j
|f��nt|j
�}y�i}|j|�x�t|jj��D]�}|j|\}}|jj|�|j|�|j	�}xOtr_|jjtd||jj	���}|dkrOPn|j|�qW||j	�f||<|j|�q�W|j	�|_
Wn$|j�tj|j��nXt|�|jj�tj|j
�j}	tj|j|	�ytj|j|j
�Wnrt k
r�}
|
j!t!j"ks\tjdkr�|
j!t!j#kr�tj|j
�tj|j|j
�q��nXt$|j
d�|_||_t|_t|_|j%r�t&|jd	t�ndS(
s"Write any pending changes to disk.Niis4Size of mailbox file changed (expected %i, found %i)iRHtos2srb+tdotlock('R�R�t_sync_flushR�R=RoRVtAssertionErrorROttellR�R�t_create_temporaryRt_pre_mailbox_hooktsortedR.t_pre_message_hookR>RGtminRRt_post_message_hookRFRR!RwRxR�tst_modetchmodR�R�R�R�R�R�R�R�(Rtcur_lentnew_filetnew_tocR tstarttstopt	new_startR]tmodeR�((s/usr/lib64/python2.7/mailbox.pyRC�sf		


	


!				cCsdS(s,Called before writing the mailbox to file f.N((RR�((s/usr/lib64/python2.7/mailbox.pyR��scCsdS(s-Called before writing each message to file f.N((RR�((s/usr/lib64/python2.7/mailbox.pyR��scCsdS(s,Called after writing each message to file f.N((RR�((s/usr/lib64/python2.7/mailbox.pyR��scCsAz|j�Wdz|jr*|j�nWd|jj�XXdS(sFlush and close the mailbox.N(RCR�RER�RF(R((s/usr/lib64/python2.7/mailbox.pyRF�s	cCsb|jdkr|j�n|dk	r^y|j|SWq^tk
rZtd|��q^XndS(s'Return (start, stop) or raise KeyError.sNo message with key: %sN(RoRVt
_generate_tocR#(RR ((s/usr/lib64/python2.7/mailbox.pyR��s

cCs�|jjdd�|jj�}t|j�dkrT|jrT|j|j�ny3|j|j�|j|�}|j	|j�Wn$t
k
r�|jj|��nX|jj�|jj�|_
|S(s;Append message to mailbox and return (start, stop) offsets.ii(R�ROR�R�RoR�R�R�t_install_messageR�RvttruncateRCR�(RRtbeforetoffsets((s/usr/lib64/python2.7/mailbox.pyR��s

N(RcRdReRVR>RRR!R%R,R5R7RDRERCR�R�R�RFR�R�(((s/usr/lib64/python2.7/mailbox.pyR�4s"	
								D				
t	_mboxMMDFcBs>eZdZeZd�Zed�Zed�Zd�Z	RS(sAn mbox or MMDF mailbox.cCs�|j|�\}}|jj|�|jj�jtjd�}|jj||jj��}|j	|jtjd��}|j
|d�|S(s4Return a Message representation or raise a KeyError.RHs
i(R�R�RORWRPRRQRGR�t_message_factorytset_from(RR R�R�t	from_linetstringR�((s/usr/lib64/python2.7/mailbox.pyR)scCsm|j|�\}}|jj|�|s;|jj�n|jj||jj��}|jtjd�S(s3Return a string representation or raise a KeyError.s
(	R�R�RORWRGR�RPRRQ(RR tfrom_R�R�R�((s/usr/lib64/python2.7/mailbox.pyR+scCsW|j|�\}}|jj|�|s;|jj�nt|j|jj�|�S(s6Return a file-like representation or raise a KeyError.(R�R�RORWt_PartialFileR�(RR R�R�R�((s/usr/lib64/python2.7/mailbox.pyR*s
cCs/d}t|t�ri|jd�ri|jd�}|dkrZ|| }||d}q�|}d}nFt|t�r�d|j�}n$t|tjj	�r�|j
�}n|dkr�dtjtj
��}n|jj�}|jj|tj�|j||j|j�|jj�}||fS(s1Format a message and blindly write to self._file.sFrom s
i����iRHsFrom MAILER-DAEMON %sN(RVRIRURXtfindt_mboxMMDFMessagetget_fromRJRRtget_unixfromR�tasctimetgmtimeR�R�RRRRQRbt
_mangle_from_(RRR�tnewlineR�R�((s/usr/lib64/python2.7/mailbox.pyR�s&
	(
RcRdReR>R�R)R=R+R*R�(((s/usr/lib64/python2.7/mailbox.pyR��s	
	cBs;eZdZeZeZded�Zd�Zd�Z	RS(sA classic mbox mailbox.cCs#t|_tj||||�dS(sInitialize an mbox mailbox.N(R
R�R�R(RRRR((s/usr/lib64/python2.7/mailbox.pyR=s	cCs|jtj�dS(s,Called after writing each message to file f.N(RRRRQ(RR�((s/usr/lib64/python2.7/mailbox.pyR�BscCs\gg}}t}|jjd�x�tr|jj�}|jj�}|jd�r�t|�t|�kr�|r�|j|tt	j
��q�|j|�n|j|�t}q&|s�|r�|j|tt	j
��n
|j|�Pq&|t	j
krt}q&t}q&Wttt
||���|_t|j�|_|jj�|_dS(s0Generate key-to-(start, stop) table of contents.isFrom N(R=R�ROR>R�RWRXR�R�RRQtdictt	enumeratetzipRoR�R�(Rtstartststopstlast_was_emptytline_posRa((s/usr/lib64/python2.7/mailbox.pyR�Fs0
	
	
	
N(
RcRdReR>R�RSRVRR�R�(((s/usr/lib64/python2.7/mailbox.pyR4s	cBs8eZdZded�Zd�Zd�Zd�ZRS(sAn MMDF mailbox.cCs#t|_tj||||�dS(sInitialize an MMDF mailbox.N(R
R�R�R(RRRR((s/usr/lib64/python2.7/mailbox.pyRks	cCs|jdtj�dS(s-Called before writing each message to file f.sN(RRRRQ(RR�((s/usr/lib64/python2.7/mailbox.pyR�pscCs|jtjdtj�dS(s,Called after writing each message to file f.sN(RRRRQ(RR�((s/usr/lib64/python2.7/mailbox.pyR�tscCsbgg}}|jjd�d}x�tr|}|jj�}|jj�}|jdtj�r�|j|�x�tr�|}|jj�}|jj�}|dtjkr�|j|t	tj��Pqv|dkrv|j|�PqvqvWq&|dkr&Pq&q&Wt
tt||���|_
t	|j
�|_|jjdd�|jj�|_dS(s0Generate key-to-(start, stop) table of contents.isRHiN(R�ROR>RWR�RXRRQR�R�R�R�RRoR�R�(RRRtnext_posRRa((s/usr/lib64/python2.7/mailbox.pyR�xs2
	
	
N(	RcRdReRVR>RR�R�R�(((s/usr/lib64/python2.7/mailbox.pyRhs
		cBs�eZdZded�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(sAn MH mailbox.cCs�tj||||�tjj|j�s�|r�tj|jd�tjtjtjj	|jd�tj
tjBtjBd��q�t
|j��nt|_dS(sInitialize an MH instance.i�s
.mh_sequencesi�N(RRRRRlRRmRFR�RjR�tO_EXCLR�RnR=R�(RRRR((s/usr/lib64/python2.7/mailbox.pyR�s!!cCs:|j�}t|�dkr'd}nt|�d}tjj|jt|��}t|�}t	}z�|j
r�t|�nz�y|j||�WnGt
k
r�|j
r�t|�nt|�t}tj|��nXt|t�r|j||�nWd|j
rt|�nXWd|s5t|�nX|S(s$Add message and return assigned key.iiN(R.R�tmaxRRRjRRUR�R=R�R�RbRvR�RxR>R!RIRt_dump_sequences(RRR.tnew_keyR�R�tclosed((s/usr/lib64/python2.7/mailbox.pyR�s6		

	


	cCs�tjj|jt|��}yt|d�}Wn;tk
rn}|jtjkrht	d|��q��nX|j
�tj|�dS(s=Remove the keyed message; raise KeyError if it doesn't exist.srb+sNo message with key: %sN(RRRjRRUR�R�R�R�R#RFR!(RR RR�R�((s/usr/lib64/python2.7/mailbox.pyR!�s
cCstjj|jt|��}yt|d�}Wn;tk
rn}|jtjkrht	d|��qo�nXz�|j
r�t|�nzYtjtj|tj
tjB��|j||�t|t�r�|j||�nWd|j
r�t|�nXWdt|�XdS(s>Replace the keyed message; raise KeyError if it doesn't exist.srb+sNo message with key: %sN(RRRjRRUR�R�R�R�R#R�R�RFR�tO_TRUNCRbRIRRR�Rx(RR RRR�R�((s/usr/lib64/python2.7/mailbox.pyR%�s$	
#	cCs1y^|jr6ttjj|jt|��d�}n'ttjj|jt|��d�}Wn;tk
r�}|jtj	kr�t
d|��q��nXzD|jr�t|�nzt|�}Wd|jr�t
|�nXWd|j�Xx<|j�j�D](\}}||kr|j|�qqW|S(s4Return a Message representation or raise a KeyError.sr+R�sNo message with key: %sN(R�R�RRRjRRUR�R�R�R#R�RR�RFt
get_sequencesR3tadd_sequence(RR R�R�R�Rwtkey_list((s/usr/lib64/python2.7/mailbox.pyR)�s(	*+	
	cCs�y^|jr6ttjj|jt|��d�}n'ttjj|jt|��d�}Wn;tk
r�}|jtj	kr�t
d|��q��nXzB|jr�t|�nz|j�SWd|jr�t
|�nXWd|j�XdS(s3Return a string representation or raise a KeyError.sr+R�sNo message with key: %sN(R�R�RRRjRRUR�R�R�R#R�RGR�RF(RR R�R�((s/usr/lib64/python2.7/mailbox.pyR+s 	*+	
	cCssy+ttjj|jt|��d�}Wn;tk
rh}|jtjkrbt	d|��qi�nXt
|�S(s6Return a file-like representation or raise a KeyError.R�sNo message with key: %s(R�RRRjRRUR�R�R�R#R�(RR R�R�((s/usr/lib64/python2.7/mailbox.pyR*s+cCs&ttd�tj|j�D���S(sReturn an iterator over keys.css'|]}|j�rt|�VqdS(N(tisdigitR�(t.0R�((s/usr/lib64/python2.7/mailbox.pys	<genexpr>+s(titerR�RR�R(R((s/usr/lib64/python2.7/mailbox.pyR,)scCs(tjjtjj|jt|���S(s9Return True if the keyed message exists, False otherwise.(RRRlRjRRU(RR ((s/usr/lib64/python2.7/mailbox.pyR5.scCstt|j���S(s*Return a count of messages in the mailbox.(R�R-R,(R((s/usr/lib64/python2.7/mailbox.pyR72scCsJ|jsFttjj|jd�d�|_t|j�t|_ndS(sLock the mailbox.s
.mh_sequencessrb+N(	R�R�RRRjRR�R�R>(R((s/usr/lib64/python2.7/mailbox.pyRD6s	$
cCs9|jr5t|j�t|j�|`t|_ndS(s#Unlock the mailbox if it is locked.N(R�R�R�RxR=(R((s/usr/lib64/python2.7/mailbox.pyRE=s
	

cCsdS(s&Write any pending changes to the disk.N((R((s/usr/lib64/python2.7/mailbox.pyRCEscCs|jr|j�ndS(sFlush and close the mailbox.N(R�RE(R((s/usr/lib64/python2.7/mailbox.pyRFIs	cCs[g}xNtj|j�D]:}tjjtjj|j|��r|j|�qqW|S(sReturn a list of folder names.(RR�RRR�RjR�(RR9R�((s/usr/lib64/python2.7/mailbox.pyR�Ns
$cCs+ttjj|j|�d|jdt�S(s+Return an MH instance for the named folder.RR(RRRRjRRR=(RR�((s/usr/lib64/python2.7/mailbox.pyR�VscCs%ttjj|j|�d|j�S(s:Create a folder and return an MH instance representing it.R(RRRRjRR(RR�((s/usr/lib64/python2.7/mailbox.pyR�[scCs�tjj|j|�}tj|�}|dgkrUtjtjj|d��n"|gkrdntd|j��tj|�dS(s-Delete the named folder, which must be empty.s
.mh_sequencessFolder not empty: %sN(RRRjRR�R!R�R�(RR�Rtentries((s/usr/lib64/python2.7/mailbox.pyR�`scCsmi}ttjj|jd�d�}z4t|j��}x|D]}y�|jd�\}}t�}xo|j�D]a}|j�r�|j	t
|��qwd�|jd�D�\}	}
|jt|	|
d��qwWgt
|�D]}||kr�|^q�||<t||�dkr+||=nWqCtk
rUtd|j���qCXqCWWd	|j�X|S(
s=Return a name-to-key-list dictionary to define each sequence.s
.mh_sequencesR�Rfcss|]}t|�VqdS(N(R�(Rtx((s/usr/lib64/python2.7/mailbox.pys	<genexpr>zst-iis"Invalid sequence specification: %sN(R�RRRjRtsetR.R}RRR�RBtrangeR�R�t
ValueErrortFormatErrortrstripRF(RtresultsR�tall_keysRaRwtcontentsR.tspecR�R�R ((s/usr/lib64/python2.7/mailbox.pyRls,!
	
cCsettjj|jd�d�}z2tjtj|jtjtjB��x|j	�D]�\}}t
|�dkr{qWn|jd|�d
}t
}x�tt|��D]r}|d|kr�|st}|jd�qn7|rt
}|jd||f�n|jd|�|}q�W|rA|jt|�d	�qW|jd	�qWWWd
t|�Xd
S(s:Set sequences using the given name-to-key-list dictionary.s
.mh_sequencessr+is%s:iRs%s %ss %ss
N(R�RRRjRRFRwR�RR3R�RRRVR=R�RR>RURx(Rt	sequencesR�RwR.tprevt
completingR ((s/usr/lib64/python2.7/mailbox.pyt
set_sequences�s.!&
c	Cs�|j�}d}g}x|j�D]�}|d|kr|j||df�ttd�r�tjtjj|jt	|��tjj|jt	|d���tj
tjj|jt	|���qtjtjj|jt	|��tjj|jt	|d���n|d7}q%W|d|_t
|�dkrEdSxS|j�D]E\}}x6|D].\}}||kre|||j|�<qeqeWqRW|j|�dS(s?Re-name messages to eliminate numbering gaps. Invalidates keys.iiRtN(RR,R�R<RRtRRjRRUtunlinkR�R�R�R4tindexR!(	RRRtchangesR RwRtoldRh((s/usr/lib64/python2.7/mailbox.pytpack�s*!#(!&
cCs�|j�}|j�}xU|j�D]G\}}||krM|j|�q%||kr%||j|�=q%q%Wx*|D]"}||krw|g||<qwqwW|j|�dS(s;Inspect a new MHMessage and update sequences appropriately.N(RR3R�R#R!(RRR tpending_sequencest
all_sequencesRwRtsequence((s/usr/lib64/python2.7/mailbox.pyR�s
N(RcRdReRVR>RRR!R%R)R+R*R,R5R7RDRERCRFR�R�R�R�RR!R&R(((s/usr/lib64/python2.7/mailbox.pyR�s.	"																			cBs�eZdZed�Zded�Zd	�Zd
�Z	d�Z
d�Zd
�Zd�Z
d�Zd�Zd�Zd�Zd�Zd�ZRS(sAn Rmail-style Babyl mailbox.tunseentdeletedtfiledtansweredt	forwardedteditedtresentcCs#tj||||�i|_dS(sInitialize a Babyl mailbox.N(R�Rt_labels(RRRR((s/usr/lib64/python2.7/mailbox.pyR�scCs;tj||�}t|t�r7|j�|j|<n|S(s$Add message and return assigned key.(R�RRIRt
get_labelsR1(RRR ((s/usr/lib64/python2.7/mailbox.pyR�scCs0tj||�||jkr,|j|=ndS(s=Remove the keyed message; raise KeyError if it doesn't exist.N(R�R!R1(RR ((s/usr/lib64/python2.7/mailbox.pyR!�scCs<tj|||�t|t�r8|j�|j|<ndS(s>Replace the keyed message; raise KeyError if it doesn't exist.N(R�R%RIRR2R1(RR R((s/usr/lib64/python2.7/mailbox.pyR%�sc	Cs}|j|�\}}|jj|�|jj�tj�}xXtr�|jj�}|dtjksu|dkryPn|j|j	tjd��qAWtj�}xTtr�|jj�}|tjks�|dkr�Pn|j|j	tjd��q�W|jj
||jj��j	tjd�}t|j
�|�}|j|j
��||jkry|j|j|�n|S(s4Return a Message representation or raise a KeyError.s*** EOOH ***RHs
(R�R�RORWRKR>RRQRRRPRGR�Rtgetvaluetset_visibleR1t
set_labels(	RR R�R�toriginal_headersRatvisible_headerstbodyR�((s/usr/lib64/python2.7/mailbox.pyR)�s,
	 	 %	cCs
|j|�\}}|jj|�|jj�tj�}xXtr�|jj�}|dtjksu|dkryPn|j|j	tjd��qAWx8tr�|jj�}|tjks�|dkr�Pq�q�W|j
�|jj||jj��j	tjd�S(s3Return a string representation or raise a KeyError.s*** EOOH ***RHs
(
R�R�RORWRKR>RRQRRRPR3RGR�(RR R�R�R6Ra((s/usr/lib64/python2.7/mailbox.pyR+s 
	 		%cCs%tj|j|�jdtj��S(s6Return a file-like representation or raise a KeyError.s
(RKR+RPRRQ(RR ((s/usr/lib64/python2.7/mailbox.pyR*scCsT|j�t�}x$|jj�D]}|j|�q#W|j|j�t|�S(s4Return a list of user-defined labels in the mailbox.(R�RR1R2RBtdifference_updatet_special_labelsR-(Rtlabelst
label_list((s/usr/lib64/python2.7/mailbox.pyR2s
	c	Cs�gg}}|jjd�d}g}x[tr�|}|jj�}|jj�}|dtjkrt|�t|�kr�|j|ttj��n|j|�g|jj�dj	d�D]$}|j
�dkr�|j
�^q�}|j|�q,|dks!|dtjkrYt|�t|�kr�|j|ttj��q�q,|dkr,|j|ttj��Pq,q,Wttt
||���|_tt|��|_t|j�|_|jjdd�|jj�|_dS(	s0Generate key-to-(start, stop) table of contents.isit,RHsiN(R�ROR>RWR�RRQR�R�R}tstripR�R�RRoR1R�R�(	RRRRtlabel_listsRRatlabelR;((s/usr/lib64/python2.7/mailbox.pyR�$s6
	
 $ cCs9|jdtjtjdj|j��tjf�dS(s,Called before writing the mailbox to file f.s(BABYL OPTIONS:%sVersion: 5%sLabels:%s%sR=N(RRRRQRjR2(RR�((s/usr/lib64/python2.7/mailbox.pyR�Bs	cCs|jdtj�dS(s-Called before writing each message to file f.sN(RRRRQ(RR�((s/usr/lib64/python2.7/mailbox.pyR�HscCs|jtjd�dS(s,Called after writing each message to file f.sN(RRRRQ(RR�((s/usr/lib64/python2.7/mailbox.pyR�LscCs,|jj�}t|t�r�g}g}x@|j�D]2}||jkr\|j|�q7|j|�q7W|jjd�x"|D]}|jjd|�q�W|jjd�x&|D]}|jjd|d�q�W|jjtj	�n|jjdtj	�t|t
jj�rt
j
�}t
jj|td�}|j|�|jd�xQtr�|j�}|jj|jdtj	��|dks�|d	kr^Pq^q^W|jjd
tj	�t|t�rct
j
�}	t
jj|	td�}
|
j|j��x�tr_|	j�}|jj|jdtj	��|dksX|d	krPqqWna|jd�xQtr�|j�}|jj|jdtj	��|dks�|d	krsPqsqsWxLtr|jd�}|d	kr�Pn|jj|jdtj	��q�Wnt|t�r|jd�d
}|d
dkr�|jj|| jdtj	��|jjd
tj	�|jj|| jdtj	��|jj||jdtj	��q|jjd
tj	tj	�|jj|jdtj	��nt|d�r�|j�}
t}x�tr�|j�}|jj|jdtj	��|dkst|d	kr+|r�t}|jjd
tj	�|j|
�q�Pq+q+Wxatr�|jd�}|d	kr�Pn|jj|jdtj	��q�Wntdt|���|jj�}||fS(s0Write message contents and return (start, stop).t1s, s,,t R=s1,,is
RHs*** EOOH ***is

ii����RWsInvalid message type: %s(R�R�RIRR2R:R�RRRRQRJRRRKRLRMR=RNROR>RWRPtget_visibleRGRUR�R<RYRZ(RRR�tspecial_labelsR;R@torig_buffertorig_generatorRat
vis_buffert
vis_generatorR]t
body_starttoriginal_post
first_passR�((s/usr/lib64/python2.7/mailbox.pyR�Ps�



		
		&

"		&(R*R+R,R-R.R/R0N(RcRdRet	frozensetR:RVR>RRR!R%R)R+R*R2R�R�R�R�R�(((s/usr/lib64/python2.7/mailbox.pyR�s 													cBs,eZdZdd�Zd�Zd�ZRS(s0Message with mailbox-format-specific properties.cCs�t|tjj�rM|jtj|��t|t�r�|j|�q�n�t|t�ru|jtj	|��n`t
|d�r�|jtj|��n8|dkr�tjjj
|�ntdt|���dS(sInitialize a Message instance.RGsInvalid message type: %sN(RIRJRRt_become_messagetcopytdeepcopyt_explain_toRUtmessage_from_stringR<tmessage_from_fileRVRRYRZ(RR((s/usr/lib64/python2.7/mailbox.pyR�scCs)x"d
D]}|j||j|<qWd	S(s0Assume the non-format-specific state of message.t_headerst	_unixfromt_payloadt_charsettpreambletepiloguetdefectst
_default_typeN(RSRTRURVRWRXRYRZ(t__dict__(RRRw((s/usr/lib64/python2.7/mailbox.pyRM�s
cCs#t|t�rdStd��dS(s:Copy format-specific state to message insofar as possible.Ns Cannot convert to specified type(RIRRY(RR((s/usr/lib64/python2.7/mailbox.pyRP�sN(RcRdReRVRRMRP(((s/usr/lib64/python2.7/mailbox.pyR�s	cBs}eZdZd
d�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�ZRS(s)Message with Maildir-specific properties.cCs5d|_d|_tj�|_tj||�dS(s%Initialize a MaildirMessage instance.RhRHN(t_subdirt_infoR�t_dateRR(RR((s/usr/lib64/python2.7/mailbox.pyR�s		cCs|jS(sReturn 'new' or 'cur'.(R\(R((s/usr/lib64/python2.7/mailbox.pyRy�scCs8|dks|dkr$||_ntd|��dS(sSet subdir to 'new' or 'cur'.RhRis!subdir must be 'new' or 'cur': %sN(R\R(RR�((s/usr/lib64/python2.7/mailbox.pyR��scCs%|jjd�r|jdSdSdS(s*Return as a string the flags that are set.s2,iRHN(R]RX(R((s/usr/lib64/python2.7/mailbox.pyt	get_flags�scCs ddjt|��|_dS(s)Set the given flags and unset all others.s2,RHN(RjR�R](Rtflags((s/usr/lib64/python2.7/mailbox.pyt	set_flags�scCs0|jdjt|j��t|�B��dS(s.Set the given flag(s) without changing others.RHN(RaRjRR_(Rtflag((s/usr/lib64/python2.7/mailbox.pytadd_flag�scCsE|j�dkrA|jdjt|j��t|���ndS(s7Unset the given string flag(s) without changing others.RHN(R_RaRjR(RRb((s/usr/lib64/python2.7/mailbox.pytremove_flag�scCs|jS(s<Return delivery date of message, in seconds since the epoch.(R^(R((s/usr/lib64/python2.7/mailbox.pyR��scCs;yt|�|_Wn!tk
r6td|��nXdS(s9Set delivery date of message, in seconds since the epoch.scan't convert to float: %sN(tfloatR^RRY(Rtdate((s/usr/lib64/python2.7/mailbox.pyR��s
cCs|jS(s%Get the message's "info" as a string.(R](R((s/usr/lib64/python2.7/mailbox.pyR{�scCs5t|t�r||_ntdt|���dS(s Set the message's "info" string.sinfo must be a string: %sN(RIRUR]RYRZ(Rtinfo((s/usr/lib64/python2.7/mailbox.pyR�scCsXt|t�rK|j|j��|j|j��|j|j��n	t|t�r t	|j��}d|kr�|j
d�n|j�dkr�|j
d�nd|kr�|j
d�nd|kr�|j
d�nd|kr�|j
d�n|jd	tj
|j���n4t|t�r�t	|j��}d|kr]|jd
�nd|kry|jd�nd|krT|jd�qTn�t|t�r,t	|j��}d|kr�|jd
�nd|kr�|jd
�nd|kr
|jd�nd|krT|jd�qTn(t|t�r>ntdt|���dS(s;Copy Maildir-specific state to message insofar as possible.tStRRitOtTtDtFtAs
MAILER-DAEMONR*trepliedtflaggedR+R-tPR.s$Cannot convert to specified type: %sN(RIR	RaR_R�RyR�R�R�RRcR�R�R�RR
Rt	add_labelRRYRZ(RRR`((s/usr/lib64/python2.7/mailbox.pyRPsN"N(RcRdReRVRRyR�R_RaRcRdR�R�R{R�RP(((s/usr/lib64/python2.7/mailbox.pyR	�s										R�cBs\eZdZd	d�Zd�Zd	d�Zd�Zd�Zd�Z	d�Z
d�ZRS(
s/Message with mbox- or MMDF-specific properties.cCsw|jdt�t|tjj�rc|j�}|dk	rc|jd�rc|j|d�qcntj	||�dS(s'Initialize an mboxMMDFMessage instance.s
MAILER-DAEMONsFrom iN(
R�R>RIRJRRR�RVRXR(RRtunixfrom((s/usr/lib64/python2.7/mailbox.pyR7scCs|jS(s Return contents of "From " line.(t_from(R((s/usr/lib64/python2.7/mailbox.pyR�@scCsN|dk	rA|tkr'tj�}n|dtj|�7}n||_dS(s>Set "From " line, formatting and appending time_ if specified.RBN(RVR>R�R�R�Rt(RR�ttime_((s/usr/lib64/python2.7/mailbox.pyR�Ds
cCs |jdd�|jdd�S(s*Return as a string the flags that are set.tStatusRHsX-Status(R((R((s/usr/lib64/python2.7/mailbox.pyR_LscCst|�}d
\}}x4dD],}||kr||7}|j|�qqWx4dD],}||krV||7}|j|�qVqVW|djt|��7}y|jd|�Wn!tk
r�|jd|�nXy|jd|�Wn!tk
r|jd|�nXd	S(
s)Set the given flags and unset all others.RHRiRjRlRmRnRvsX-StatusN(RHRH(RiRj(RlRmRn(RR!RjR�treplace_headerR#t
add_header(RR`tstatus_flagst
xstatus_flagsRb((s/usr/lib64/python2.7/mailbox.pyRaPs&





cCs0|jdjt|j��t|�B��dS(s.Set the given flag(s) without changing others.RHN(RaRjRR_(RRb((s/usr/lib64/python2.7/mailbox.pyRcfscCsKd|ksd|krG|jdjt|j��t|���ndS(s7Unset the given string flag(s) without changing others.RvsX-StatusRHN(RaRjRR_(RRb((s/usr/lib64/python2.7/mailbox.pyRdjscCs�t|t�rt|j��}d|kr=|jd�nd|krY|jd�nd|kru|jd�nd|kr�|jd�nd|kr�|jd�n|d	=|d
=dj|j�j�d�}y&|j	t
jtj
|d
���Wq�ttfk
rq�Xnlt|t�rU|j|j��|j|j��n4t|t�r�t|j��}d|kr�|jd�nd|kr�|jd�nd|kr�|jd�n|d	=|d
=n�t|t�rat|j��}d|kr|jd�nd|kr4|jd�nd|krP|jd�n|d	=|d
=n(t|t�rsntdt|���dS(sACopy mbox- or MMDF-specific state to message insofar as possible.RjRiRmRnRiRhRlRktstatussx-statusRBi����s%a %b %d %H:%M:%S %YR*RoRpR+R-s$Cannot convert to specified type: %sN(RIR	RR_R�RcRjR�R}R�tcalendarttimegmR�tstrptimeRt
OverflowErrorR�RaR�RR
RRrRRYRZ(RRR`t
maybe_date((s/usr/lib64/python2.7/mailbox.pyRPos^

N(RcRdReRVRR�R�R_RaRcRdRP(((s/usr/lib64/python2.7/mailbox.pyR�4s						cBseZdZRS(s&Message with mbox-specific properties.(RcRdRe(((s/usr/lib64/python2.7/mailbox.pyR
�scBsGeZdZdd�Zd�Zd�Zd�Zd�Zd�Z	RS(s$Message with MH-specific properties.cCsg|_tj||�dS(s!Initialize an MHMessage instance.N(t
_sequencesRR(RR((s/usr/lib64/python2.7/mailbox.pyR�s	cCs|jS(s4Return a list of sequences that include the message.(R�(R((s/usr/lib64/python2.7/mailbox.pyR�scCst|�|_dS(s3Set the list of sequences that include the message.N(R-R�(RR((s/usr/lib64/python2.7/mailbox.pyR!�scCsNt|t�r4||jkrJ|jj|�qJntdt|���dS(s8Add sequence to list of sequences including the message.ssequence must be a string: %sN(RIRUR�R�RYRZ(RR)((s/usr/lib64/python2.7/mailbox.pyR
�scCs,y|jj|�Wntk
r'nXdS(sARemove sequence from the list of sequences including the message.N(R�R!R(RR)((s/usr/lib64/python2.7/mailbox.pytremove_sequence�s
cCs�t|t�r�t|j��}d|kr=|jd�n|jd�|jd�d|krs|jd�nd|kr�|jd�q�n?t|t�rt|j��}d|kr�|jd�n
|jd	�d|kr�|jd�nd|kr�|jd
�q�n�t|t�rMx�|j�D]}|j|�q3Wn�t|t	�r�t|j��}d|kr�|j
d�nd|kr�|j
d�q�n(t|t�r�ntdt
|���d
S(s6Copy MH-specific state to message insofar as possible.R*RiRhRpRmRoRitRORjRnR-s$Cannot convert to specified type: %sN(RIR	RRR�RcR�RR
RRrRRYRZ(RRRR)((s/usr/lib64/python2.7/mailbox.pyRP�s@


N(
RcRdReRVRRR!R
R�RP(((s/usr/lib64/python2.7/mailbox.pyR�s				cBsbeZdZd
d�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�ZRS(s'Message with Babyl-specific properties.cCs)g|_t�|_tj||�dS(s#Initialize a BabylMessage instance.N(R1Rt_visibleR(RR((s/usr/lib64/python2.7/mailbox.pyR�s	cCs|jS(s'Return a list of labels on the message.(R1(R((s/usr/lib64/python2.7/mailbox.pyR2�scCst|�|_dS(s&Set the list of labels on the message.N(R-R1(RR;((s/usr/lib64/python2.7/mailbox.pyR5�scCsNt|t�r4||jkrJ|jj|�qJntdt|���dS(s+Add label to list of labels on the message.slabel must be a string: %sN(RIRUR1R�RYRZ(RR@((s/usr/lib64/python2.7/mailbox.pyRr�scCs,y|jj|�Wntk
r'nXdS(s4Remove label from the list of labels on the message.N(R1R!R(RR@((s/usr/lib64/python2.7/mailbox.pytremove_labels
cCs
t|j�S(s3Return a Message representation of visible headers.(RR�(R((s/usr/lib64/python2.7/mailbox.pyRC
scCst|�|_dS(s2Set the Message representation of visible headers.N(RR�(Rtvisible((s/usr/lib64/python2.7/mailbox.pyR4scCs�xG|jj�D]6}||kr<|jj|||�q|j|=qWx=dD]5}||krQ||jkrQ|||j|<qQqQWdS(	s9Update and/or sensibly generate a set of visible headers.tDatetFromsReply-TotTotCCtSubjectN(R�R�sReply-ToR�R�R�(R�R.Rw(Rtheader((s/usr/lib64/python2.7/mailbox.pytupdate_visibles
cCst|t�r�t|j��}d|kr=|jd�n|jd�|jd�d|ksod|kr|jd�nd|kr�|jd�nd	|kr|jd
�qnRt|t�r?t|j��}d|kr�|jd�n
|jd�d	|kr |jd
�nd|kr|jd�qn�t|t�r�t|j��}d|kr||jd�nd|kr|jd�qnqt|t	�r�|j
|j��xL|j�D]}|j|�q�Wn(t|t
�r�ntdt|���dS(s9Copy Babyl-specific state to message insofar as possible.R*RiRhR.R0RqR-RiR+RkR�RjRlRnRos$Cannot convert to specified type: %sN(RIR	RR2R�RcR�RR
RR4RCRrRRYRZ(RRR;R@((s/usr/lib64/python2.7/mailbox.pyRP sF


N(
RcRdReRVRR2R5RrR�RCR4R�RP(((s/usr/lib64/python2.7/mailbox.pyR�s							cBseZdZRS(s&Message with MMDF-specific properties.(RcRdRe(((s/usr/lib64/python2.7/mailbox.pyR
JsR�cBsneZdZdd�Zdd�Zdd�Zdd�Zd�Zd�Z	dd�Z
d	�Zd
�ZRS(sA read-only wrapper of a file.cCs4||_|dkr'|j�|_n	||_dS(sInitialize a _ProxyFile.N(R�RVR�t_pos(RR�tpos((s/usr/lib64/python2.7/mailbox.pyRQs	cCs|j||jj�S(sRead bytes.(t_readR�RG(Rtsize((s/usr/lib64/python2.7/mailbox.pyRGYscCs|j||jj�S(sRead a line.(R�R�RW(RR�((s/usr/lib64/python2.7/mailbox.pyRW]scCsWg}xJ|D]B}|j|�|dk	r
|t|�8}|dkrOPqOq
q
W|S(sRead multiple lines.iN(R�RVR�(RtsizehintR9Ra((s/usr/lib64/python2.7/mailbox.pyt	readlinesas

cCst|jd�S(sIterate over lines.RH(RRW(R((s/usr/lib64/python2.7/mailbox.pyR1lscCs|jS(sReturn the position.(R�(R((s/usr/lib64/python2.7/mailbox.pyR�psicCsK|dkr"|jj|j�n|jj||�|jj�|_dS(sChange position.iN(R�ROR�R�(Rtoffsettwhence((s/usr/lib64/python2.7/mailbox.pyROtscCs>t|d�r:t|jd�r1|jj�n|`ndS(sClose the file.R�RFN(R<R�RF(R((s/usr/lib64/python2.7/mailbox.pyRF{scCsJ|dkrd}n|jj|j�||�}|jj�|_|S(s"Read size bytes using read_method.i����N(RVR�ROR�R�(RR�tread_methodR9((s/usr/lib64/python2.7/mailbox.pyR��s	N(
RcRdReRVRRGRWR�R1R�RORFR�(((s/usr/lib64/python2.7/mailbox.pyR�Ns			R�cBsDeZdZddd�Zd�Zdd�Zd�Zd�ZRS(s&A read-only wrapper of part of a file.cCs)tj|||�||_||_dS(sInitialize a _PartialFile.N(R�Rt_startt_stop(RR�R�R�((s/usr/lib64/python2.7/mailbox.pyR�s	cCstj|�|jS(s*Return the position with respect to start.(R�R�R�(R((s/usr/lib64/python2.7/mailbox.pyR��sicCsY|dkr!|j|_d}n!|dkrB|j|_d}ntj|||�dS(s8Change position, possibly with respect to start or stop.iiiN(R�R�R�R�RO(RR�R�((s/usr/lib64/python2.7/mailbox.pyRO�s		cCs`|j|j}|dkr dS|dksD|dksD||krM|}ntj|||�S(s;Read size bytes using read_method, honoring start and stop.iRHN(R�R�RVR�R�(RR�R�t	remaining((s/usr/lib64/python2.7/mailbox.pyR��s$	cCst|d�r|`ndS(NR�(R<R�(R((s/usr/lib64/python2.7/mailbox.pyRF�sN(	RcRdReRVRR�ROR�RF(((s/usr/lib64/python2.7/mailbox.pyR��s	
		cCst}y�tr�ytj|tjtjB�Wq�tk
r|}|jtjtjtj	fkrvt
d|j��q}�q�Xn|r�y!t|jd�}|j
�Wn5tk
r�}|jtjtj	fkr�dS�nXyfttd�r$tj|j|jd�t}tj|j�n tj|j|jd�t}Wq�tk
r�}|jtjks�tjdkr�|jtjkr�tj|j�t
d|j��q��q�XnWnCtr�tj|tj�n|r�tj|jd�n�nXdS(s(Lock file f using lockf and dot locking.slockf: lock unavailable: %ss.lockNRtR�sdot lock unavailable: %s(R=tfcntltlockftLOCK_EXtLOCK_NBR�R�tEAGAINR�R�R�RwR�RFR<RRtR>R"R�R�R�R!tLOCK_UN(R�R�tdotlock_doneR�tpre_lock((s/usr/lib64/python2.7/mailbox.pyR��sL!

!cCsPtrtj|tj�ntjj|jd�rLtj|jd�ndS(s*Unlock file f using lockf and dot locking.s.lockN(R�R�R�RRRlRwR!(R�((s/usr/lib64/python2.7/mailbox.pyR��scCsLtj|tjtjBtjBd�}zt|d�SWdtj|�XdS(sCCreate a file if it doesn't exist and open for reading and writing.i�srb+N(RR�R�RtO_RDWRRF(Rtfd((s/usr/lib64/python2.7/mailbox.pyR��s&cCs2td|ttj��tj�tj�f�S(sBCreate a temp file based on path and open for reading and writing.s%s.%s.%s.%s(R�R�R�R�R�RR�(R((s/usr/lib64/python2.7/mailbox.pyR��s	cCs3|j�ttd�r/tj|j��ndS(s0Ensure changes to file f are physically on disk.tfsyncN(RCR<RR�tfileno(R�((s/usr/lib64/python2.7/mailbox.pyR��s
cCst|�|j�dS(s:Close file f, ensuring all changes are physically on disk.N(R�RF(R�((s/usr/lib64/python2.7/mailbox.pyRx�s
t_MailboxcBs)eZejd�Zd�Zd�ZRS(cCs||_d|_||_dS(Ni(tfptseekpR(RR�R((s/usr/lib64/python2.7/mailbox.pyRs		cCst|jd�S(N(RR�RV(R((s/usr/lib64/python2.7/mailbox.pyR1scCs�x�|jj|j�y|j�Wn$tk
rJ|jj�|_dSX|jj�}|j�|jj�|_}||krPqqW|jt	|j||��S(N(
R�ROR�t
_search_starttEOFErrorR�RVt_search_endRR�(RR�R�((s/usr/lib64/python2.7/mailbox.pyR�s

(RcRdR�RRR1R�(((s/usr/lib64/python2.7/mailbox.pyR�s	cBs>eZd�Zd�ZdZdZd�Zd�ZeZ	RS(cCskxd|jj�}|jj�}|s0t�n|d dkr|j|�r|jj|�dSqWdS(NisFrom (R�R�RWR�t_isrealfromlineRO(RR�Ra((s/usr/lib64/python2.7/mailbox.pyR�!s	cCss|jj�x_|jj�}|jj�}|s8dS|d dkr|j|�r|jj|�dSqWdS(NisFrom (R�RWR�R�RO(RR�Ra((s/usr/lib64/python2.7/mailbox.pyR�+s
saFrom \s*[^\s]+\s+\w\w\w\s+\w\w\w\s+\d?\d\s+\d?\d:\d\d(:\d\d)?(\s+[^\s]+)?\s+\d\d\d\d\s*[^\s]*\s*$cCs=|js-ddl}|j|j�|_n|jj|�S(Ni����(t_regexptretcompilet_fromlinepatterntmatch(RRaR�((s/usr/lib64/python2.7/mailbox.pyt_strict_isrealfromlineUs	cCstS(N(R>(RRa((s/usr/lib64/python2.7/mailbox.pyt_portable_isrealfromline[sN(
RcRdR�R�R�RVR�R�R�R�(((s/usr/lib64/python2.7/mailbox.pyRs	
	$		cBseZejZRS((RcRdRR�R�(((s/usr/lib64/python2.7/mailbox.pyRascBseZd�Zd�ZRS(cCs=x6|jj�}|s!t�n|d dkrdSqWdS(Nis
(R�RWR�(RRa((s/usr/lib64/python2.7/mailbox.pyR�gs	cCsSxL|jj�}|jj�}|s+dS|dkr|jj|�dSqWdS(Ns
(R�R�RWRO(RR�Ra((s/usr/lib64/python2.7/mailbox.pyR�os(RcRdR�R�(((s/usr/lib64/python2.7/mailbox.pyRes	cBs)eZejd�Zd�Zd�ZRS(cCs�ddl}|jd�}||_tj|j�}t|j|�}tt|�}|j	�tt
|�|_|jj�||_
dS(Ni����s
^[1-9][0-9]*$(R�R�RsRR�tfilterR�tmaptlongtsortRUtboxestreverseR(RRsRR�tpatR-((s/usr/lib64/python2.7/mailbox.pyR|s	

cCst|jd�S(N(RR�RV(R((s/usr/lib64/python2.7/mailbox.pyR1�scCst|js
dS|jj�}ttjj|j|��}|j|�}y
||_	Wnt
tfk
ronX|S(N(R�RVR:R�RRRjRsRt	_mh_msgnotAttributeErrorRY(RtfnR�R�((s/usr/lib64/python2.7/mailbox.pyR��s	
(RcRdR�RRR1R�(((s/usr/lib64/python2.7/mailbox.pyRzs	cBseZd�Zd�ZRS(cCs9x2|jj�}|s!t�n|dkrdSqWdS(Ns
*** EOOH ***
(R�RWR�(RRa((s/usr/lib64/python2.7/mailbox.pyR��s	cCs_xX|jj�}|jj�}|s+dS|dksC|dkr|jj|�dSqWdS(Ns
s(R�R�RWRO(RR�Ra((s/usr/lib64/python2.7/mailbox.pyR��s(RcRdR�R�(((s/usr/lib64/python2.7/mailbox.pyR�s	tErrorcBseZdZRS(s"Raised for module-specific errors.(RcRdRe(((s/usr/lib64/python2.7/mailbox.pyR��sRncBseZdZRS(s:The specified mailbox does not exist and won't be created.(RcRdRe(((s/usr/lib64/python2.7/mailbox.pyRn�sR�cBseZdZRS(s>The specified mailbox is not empty and deletion was requested.(RcRdRe(((s/usr/lib64/python2.7/mailbox.pyR��sR�cBseZdZRS(s)Another process caused an action to fail.(RcRdRe(((s/usr/lib64/python2.7/mailbox.pyR��sRcBseZdZRS(s)A file appears to have an invalid format.(RcRdRe(((s/usr/lib64/python2.7/mailbox.pyR�s(<RetsysRR�R|R�R�RNRJt
email.messagetemail.generatorRKtplatformtImportErrorR�RVtwarningstcatch_warningstpy3kwarningtfilterwarningstDeprecationWarningR�t__all__RRR�R�RRRRRRR	R�R
RRR
R�R�R>R�R�R�R�R�RxR�RRRRRt	ExceptionR�RnR�R�R(((s/usr/lib64/python2.7/mailbox.pyt<module>s~	


	
	��C�84-�8� koF]>'-					
B"

© 2025 UnknownSec
Learning made Easy | Anyleson - Learning Platform
INR (₹)
India Rupee
$
United States Dollar

Joy of learning & teaching...

Rocket LMS is a fully-featured educational platform that helps instructors to create and publish video courses, live classes, and text courses and earn money, and helps students to learn in the easiest way.

6

Skillful Instructors

Start learning from experienced instructors.

11

Happy Students

Enrolled in our courses and improved their skills.

8

Live Classes

Improve your skills using live knowledge flow.

10

Video Courses

Learn without any geographical & time limitations.

Featured Courses

#Browse featured courses and become skillful

New Learning Page

Learn step-by-step tips that help you get things done with your virtual team by increasing trust and accountability.If you manage a virtual team today, then you'll probably continue to do so for the rest of your career.

5.00
20% Offer

Excel from Beginner to Advanced

Microsoft Excel is a spreadsheet developed by Microsoft for Windows, macOS, Android and iOS. It features calculation, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications (VBA).

4.75

Newest Courses

#Recently published courses

View All
Course
Full Stack Web Development

Full Stack Web Development

in Web Development
83:20 Hours
10 Oct 2024
₹28,318.82
Course
Installment and Secure Host

Installment and Secure Host

in Business Strategy
5.00
1:30 Hours
16 Mar 2023
₹118
Not conducted
Bestseller
New In-App Live System

New In-App Live System

in Communications
5.00
2:30 Hours
1 Mar 2026
₹11.80
Featured
New Learning Page

New Learning Page

in Lifestyle
5.00
3:30 Hours
1 Mar 2022
Free
Finished
Effective Time Management

Effective Time Management

in Management
5.00
1:30 Hours
1 Aug 2023
₹35.40
20% Offer
Excel from Beginner to Advanced

Excel from Beginner to Advanced

in Management
4.75
1:40 Hours
20 Mar 2026
₹94.40 ₹118

Latest bundles

Latest bundles subtitle

View All
Bestseller
Microsoft Office Beginner to Expert Bundle

Microsoft Office Beginner to Expert Bundle

in Management
5.00
15:10 Hours
24 Jun 2022
₹59

A-Z Web Programming

in Web Development
4.75
2:20 Hours
25 Jun 2022
₹9.44

Upcoming Courses

Courses that will be published soon

View All

Best Rated Courses

#Enjoy high quality and best rated content

View All
Finished
Effective Time Management

Effective Time Management

in Management
5.00
1:30 Hours
1 Aug 2023
₹35.40
20% Offer
Health And Fitness Masterclass

Health And Fitness Masterclass

in Health & Fitness
5.00
1:00 Hours
1 Jul 2021
₹18.88 ₹23.60
Finished
Learn Linux in 5 Days

Learn Linux in 5 Days

in Web Development
4.69
7:30 Hours
10 Jul 2021
Free
Text course
Learn Python Programming

Learn Python Programming

in Web Development
4.63
0:35 Hours
29 Jun 2021
Free
Course
Become a Product Manager

Become a Product Manager

in Business Strategy
4.58
2:30 Hours
28 Jun 2021
Free
20% Offer
Learn and Understand AngularJS

Learn and Understand AngularJS

in Web Development
3.88
1:00 Hours
10 Dec 2023
₹18.88 ₹23.60

Trending Categories

#Browse trending & popular learning topics

Bestselling Courses

#Learn from bestselling courses

View All
Course
Become a Product Manager

Become a Product Manager

in Business Strategy
4.58
2:30 Hours
28 Jun 2021
Free
Finished
Learn Linux in 5 Days

Learn Linux in 5 Days

in Web Development
4.00
7:30 Hours
10 Jul 2021
Free
Finished
Effective Time Management

Effective Time Management

in Management
5.00
1:30 Hours
1 Aug 2023
₹35.40
40% Offer
The Future of Energy

The Future of Energy

in Science
2.50
1:10 Hours
8 Jul 2021
₹42.48 ₹70.80
Featured
New Learning Page

New Learning Page

in Lifestyle
5.00
3:30 Hours
1 Mar 2022
Free
Not conducted
Bestseller
New In-App Live System

New In-App Live System

in Communications
5.00
2:30 Hours
1 Mar 2026
₹11.80

Free Courses

#Never miss free learning opportunities

View All
Featured
New Learning Page

New Learning Page

in Lifestyle
5.00
3:30 Hours
1 Mar 2022
Free
Course
New Update Features

New Update Features

in Language
4.00
1:30 Hours
21 Jun 2022
Free
Text course
Learn Python Programming

Learn Python Programming

in Web Development
5.00
0:35 Hours
29 Jun 2021
Free
Finished
Learn Linux in 5 Days

Learn Linux in 5 Days

in Web Development
4.00
7:30 Hours
10 Jul 2021
Free
Course
Become a Product Manager

Become a Product Manager

in Business Strategy
4.58
2:30 Hours
28 Jun 2021
Free

Discounted Courses

#Get courses at the latest price

View All
20% Offer
Excel from Beginner to Advanced

Excel from Beginner to Advanced

in Management
4.75
1:40 Hours
20 Mar 2026
₹94.40 ₹118
20% Offer
Learn and Understand AngularJS

Learn and Understand AngularJS

in Web Development
2.75
1:00 Hours
10 Dec 2023
₹18.88 ₹23.60
20% Offer
Health And Fitness Masterclass

Health And Fitness Masterclass

in Health & Fitness
5.00
1:00 Hours
1 Jul 2021
₹18.88 ₹23.60
40% Offer
The Future of Energy

The Future of Energy

in Science
2.50
1:10 Hours
8 Jul 2021
₹42.48 ₹70.80

Store Products

Explore physical & virtual products

All Products

Subscribe Now!

#Choose a subscription plan and save money!

Become an instructor

Are you interested to be a part of our community? You can be a part of our community by signing up as an instructor or organization.

Become an instructor circle dots
user name
Become an instructor start earning right now...
Have a Question? Ask it in forum and get answer circle dots

Have a Question? Ask it in forum and get answer

Our forums helps you to create your questions on different subjects and communicate with other forum users. Our users will help you to get the best answer!

Find the best instructor

Looking for an instructor? Find the best instructors according to different parameters like gender, skill level, price, meeting type, rating, etc. Find instructors on the map.

Find the best instructor circle dots
user name
Tutor Finder Find the best instructor now...

Start learning anywhere, anytime...

Use Rocket LMS to access high-quality education materials without any limitations in the easiest way.

Win Club Points
medal
You earned 50 points! for completing the course...

Win Club Points

Use Rocket LMS and win club points according to different activities. You will be able to use your club points to get free prizes and courses. Start using the system now and collect points!

Instructors

#Learn from the experienced & skillful instructors

All Instructors

Testimonials

#What our customers say about us

Ryan Newman

Ryan Newman

Data Analyst at Microsoft

"We've used Rocket LMS for the last 2  years. Thanks for the great service."

Megan Hayward

Megan Hayward

System Administrator at Amazon

"We're loving it. Rocket LMS is both perfect    and highly adaptable."

Natasha Hope

Natasha Hope

IT Technician at IBM

"I am really satisfied with my Rocket LMS. It's the perfect solution for our business."

Charles Dale

Charles Dale

Computer Engineer at Oracle

"I am so pleased with this product. I couldn't have asked for more than this."

David Patterson

David Patterson

Network Technician at Cisco

"Rocket LMS impressed me on multiple           levels."

Organizations

#Greatest education organizations are here to help you

All Organizations

Blog

#Explore latest news and articles

Blog Posts
Become a Straight-A Student 1 Jul 2021

Become a Straight-A Student

In this article, I’ll explain the two rules I followed to become a straight-A student. If you take my advice, you’ll get better grades and lead a more ...
How To Teach Your Kid Easily 1 Jul 2021

How To Teach Your Kid Easily

The primary reason kids struggle with school is fear. And in most cases, it’s their parent's fault. I started tutoring math out of financial desperation. ...
Better Relationship Between Friends 1 Jul 2021

Better Relationship Between Friends

The tutor-parent relationship is an important relationship and unfortunately greatly overlooked. Why is it important? Well, a good relationship between you and ...