ACC SHELL

Path : /usr/lib/python/
File Upload :
Current File : //usr/lib/python/mailbox.pyo

oMc!@sdZddkZddkZddkZddkZddkZddkZddkZddkZddk	Zddk
ZddkZddkZy*ei
djo
enddkZWnej
o
eZnXdddddd	d
ddd
dddddddgZdfdYZdefdYZdefdYZdefdYZdefdYZd	efdYZdefdYZdefdYZd
eiifdYZdefd YZd!efd"YZdefd#YZd
efd$YZdefd%YZ defd&YZ!d'fd(YZ"d)e"fd*YZ#e$d+Z%d,Z&d-Z'd.Z(d/Z)d0Z*d1fd2YZ+de+fd3YZ,de,fd4YZ-de+fd5YZ.dfd6YZ/de+fd7YZ0d8e1fd9YZ2d:e2fd;YZ3d<e2fd=YZ4d>e2fd?YZ5d@e2fdAYZ6dS(BsDRead/write support for Maildir, mbox, MH, Babyl, and MMDF mailboxes.iNtos2emxtMailboxtMaildirtmboxtMHtBabyltMMDFtMessagetMaildirMessagetmboxMessaget	MHMessagetBabylMessagetMMDFMessagetUnixMailboxtPortableUnixMailboxtMmdfMailboxt	MHMailboxtBabylMailboxcBs.eZdZdedZdZdZdZdZ	dZ
ddZdZd	Z
d
ZdZdZd
ZdZdZdZdZdZdZdZdZdZddZdZddZdZdZdZ dZ!e"dZ#RS( s*A group of messages in a particular place.cCs.tiitii||_||_dS(sInitialize a Mailbox instance.N(tostpathtabspatht
expandusert_patht_factory(tselfRtfactorytcreate((s/usr/lib/python2.6/mailbox.pyt__init__'s!cCstddS(s$Add message and return assigned key.s&Method must be implemented by subclassN(tNotImplementedError(Rtmessage((s/usr/lib/python2.6/mailbox.pytadd,scCstddS(s=Remove the keyed message; raise KeyError if it doesn't exist.s&Method must be implemented by subclassN(R(Rtkey((s/usr/lib/python2.6/mailbox.pytremove0scCs|i|dS(N(R (RR((s/usr/lib/python2.6/mailbox.pyt__delitem__4scCs+y|i|Wntj
onXdS(s'If the keyed message exists, remove it.N(R tKeyError(RR((s/usr/lib/python2.6/mailbox.pytdiscard7scCstddS(s>Replace the keyed message; raise KeyError if it doesn't exist.s&Method must be implemented by subclassN(R(RRR((s/usr/lib/python2.6/mailbox.pyt__setitem__>scCs,y|i|SWntj
o|SXdS(s9Return the keyed message, or default if it doesn't exist.N(t__getitem__R"(RRtdefault((s/usr/lib/python2.6/mailbox.pytgetBscCs2|ip|i|S|i|i|SdS(s=Return the keyed message; raise KeyError if it doesn't exist.N(Rtget_messagetget_file(RR((s/usr/lib/python2.6/mailbox.pyR%Is
cCstddS(s4Return a Message representation or raise a KeyError.s&Method must be implemented by subclassN(R(RR((s/usr/lib/python2.6/mailbox.pyR(PscCstddS(s3Return a string representation or raise a KeyError.s&Method must be implemented by subclassN(R(RR((s/usr/lib/python2.6/mailbox.pyt
get_stringTscCstddS(s6Return a file-like representation or raise a KeyError.s&Method must be implemented by subclassN(R(RR((s/usr/lib/python2.6/mailbox.pyR)XscCstddS(sReturn an iterator over keys.s&Method must be implemented by subclassN(R(R((s/usr/lib/python2.6/mailbox.pytiterkeys\scCst|iS(sReturn a list of keys.(tlistR+(R((s/usr/lib/python2.6/mailbox.pytkeys`sccsGx@|iD]2}y||}Wntj
o
q
nX|Vq
WdS(s%Return an iterator over all messages.N(R+R"(RRtvalue((s/usr/lib/python2.6/mailbox.pyt
itervaluesds
cCs
|iS(N(R/(R((s/usr/lib/python2.6/mailbox.pyt__iter__mscCst|iS(s,Return a list of messages. Memory intensive.(R,R/(R((s/usr/lib/python2.6/mailbox.pytvaluespsccsMxF|iD]8}y||}Wntj
o
q
nX||fVq
WdS(s.Return an iterator over (key, message) tuples.N(R+R"(RRR.((s/usr/lib/python2.6/mailbox.pyt	iteritemsts
cCst|iS(s9Return a list of (key, message) tuples. Memory intensive.(R,R2(R((s/usr/lib/python2.6/mailbox.pytitems}scCstddS(s9Return True if the keyed message exists, False otherwise.s&Method must be implemented by subclassN(R(RR((s/usr/lib/python2.6/mailbox.pythas_keyscCs
|i|S(N(R4(RR((s/usr/lib/python2.6/mailbox.pyt__contains__scCstddS(s*Return a count of messages in the mailbox.s&Method must be implemented by subclassN(R(R((s/usr/lib/python2.6/mailbox.pyt__len__scCs(x!|iD]}|i|q
WdS(sDelete all messages.N(R+R#(RR((s/usr/lib/python2.6/mailbox.pytclears
cCs6y||}Wntj
o|SX|i||S(s3Delete the keyed message and return it, or default.(R"R#(RRR&tresult((s/usr/lib/python2.6/mailbox.pytpops
cCs7x0|iD]}||i|fSWtddS(s6Delete an arbitrary (key, message) pair and return it.sNo messages in mailboxN(R+R9R"(RR((s/usr/lib/python2.6/mailbox.pytpopitems
cCst|do|i}n't|do|i}n|}t}x>|D]6\}}y|||<WqStj
o
t}qSXqSW|otdndS(s4Change the messages that correspond to certain keys.R2R3sNo message with key(s)N(thasattrR2R3tFalseR"tTrue(Rtargtsourcetbad_keyRR((s/usr/lib/python2.6/mailbox.pytupdatescCstddS(s&Write any pending changes to the disk.s&Method must be implemented by subclassN(R(R((s/usr/lib/python2.6/mailbox.pytflushscCstddS(sLock the mailbox.s&Method must be implemented by subclassN(R(R((s/usr/lib/python2.6/mailbox.pytlockscCstddS(s#Unlock the mailbox if it is locked.s&Method must be implemented by subclassN(R(R((s/usr/lib/python2.6/mailbox.pytunlockscCstddS(sFlush and close the mailbox.s&Method must be implemented by subclassN(R(R((s/usr/lib/python2.6/mailbox.pytclosescCsst|tiiodti}tii||d}|i||id|i	|i
idti
nt|toC|o|idd}n|idti
}|i	|nt|do|xtom|i}|djoPn|o"|idod|d	}n|idti
}|i	|qWntd
t|dS(s%Dump message contents to target file.is
s
From s
>From treadtsFrom s>From isInvalid message type: %sN(t
isinstancetemailRRtStringIOt	generatort	GeneratortflattentseektwriteRFtreplaceRtlineseptstrR;R=treadlinet
startswitht	TypeErrorttype(RRttargettmangle_from_tbuffertgentline((s/usr/lib/python2.6/mailbox.pyt
_dump_messages,

&
N($t__name__t
__module__t__doc__tNoneR=RRR R!R#R$R'R%R(R*R)R+R-R/R0R1R2R3R4R5R6R7R9R:RARBRCRDRER<R\(((s/usr/lib/python2.6/mailbox.pyR$s>																												cBseZdZdZeiedZdZdZ	dZ
dZdZdZ
d	Zd
ZdZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZRS(sA qmail-style Maildir mailbox.t:cCsti||||tii|ip|o}ti|idtitii|iddtitii|iddtitii|iddqt|inh|_	dS(sInitialize a Maildir instance.ittmptnewtcurN(
RRRRtexistsRtmkdirtjointNoSuchMailboxErrort_toc(RtdirnameRR((s/usr/lib/python2.6/mailbox.pyRs""&c
Cs|i}z|i||Wdt|Xt|to=|i}|i|i}||ijo
d}qn
d}d}ti	i
|ii|id}ti	i
|i|||}yNttdo'ti|i|ti|inti|i|WnOtj
oC}ti|i|itijotd|qknXt|to,ti|ti	i||ifn|S(s$Add message and return assigned key.NRGRcitlinks$Name clash with existing message: %s(t_create_tmpR\t_sync_closeRHRt
get_subdirtcolontget_infoRRtbasenametnametsplitRgRR;RkR trenametOSErrorterrnotEEXISTtExternalClashErrortutimetgetatimetget_date(RRttmp_filetsubdirtsuffixtuniqtdestte((s/usr/lib/python2.6/mailbox.pyRs6%,cCs,titii|i|i|dS(s=Remove the keyed message; raise KeyError if it doesn't exist.N(RR RRgRt_lookup(RR((s/usr/lib/python2.6/mailbox.pyR scCsYy|i|WnAtj
on0tj
o#}|itijoqUnXdS(s'If the keyed message exists, remove it.N(R R"RuRvtENOENT(RRR((s/usr/lib/python2.6/mailbox.pyR#sc
Cs$|i|}|i|}|i|}t|to
|}n|}tii|}|i|jo!|i|i|id}nd}|i	|tii
|i|||}	titii
|i||	t|to,ti
|	tii|	|ifndS(s>Replace the keyed message; raise KeyError if it doesn't exist.iRGN(RRRHRRRRjRoRsR#RgRRtRyRzR{(
RRRtold_subpathttemp_keyttemp_subpathtdominant_subpathR}R~tnew_path((s/usr/lib/python2.6/mailbox.pyR$"s 
!
"cCs|i|}ttii|i|d}z-|io|i|}n
t|}Wd|iXtii	|\}}|i
||i|jo!|i|i	|idn|i
tiitii|i||S(s4Return a Message representation or raise a KeyError.trNi(RtopenRRRgRRRRERst
set_subdirRotset_infotset_datetgetmtime(RRtsubpathtftmsgR}Rr((s/usr/lib/python2.6/mailbox.pyR(9s!

!+cCsJttii|i|i|d}z|iSWd|iXdS(s3Return a string representation or raise a KeyError.RN(RRRRgRRRFRE(RRR((s/usr/lib/python2.6/mailbox.pyR*Ks*cCs4ttii|i|i|d}t|S(s6Return a file-like representation or raise a KeyError.trb(RRRRgRRt
_ProxyFile(RRR((s/usr/lib/python2.6/mailbox.pyR)Ss*ccsQ|ix@|iD]5}y|i|Wntj
o
qnX|VqWdS(sReturn an iterator over keys.N(t_refreshRiRR"(RR((s/usr/lib/python2.6/mailbox.pyR+Xs

cCs|i||ijS(s9Return True if the keyed message exists, False otherwise.(RRi(RR((s/usr/lib/python2.6/mailbox.pyR4bs
cCs|it|iS(s*Return a count of messages in the mailbox.(RtlenRi(R((s/usr/lib/python2.6/mailbox.pyR6gs
cCsdS(s"Write any pending changes to disk.N((R((s/usr/lib/python2.6/mailbox.pyRBlscCsdS(sLock the mailbox.N((R((s/usr/lib/python2.6/mailbox.pyRCpscCsdS(s#Unlock the mailbox if it is locked.N((R((s/usr/lib/python2.6/mailbox.pyRDtscCsdS(sFlush and close the mailbox.N((R((s/usr/lib/python2.6/mailbox.pyRExscCsg}xxti|iD]d}t|djoK|ddjo:tiitii|i|o|i|dqqW|S(sReturn a list of folder names.iit.(RtlistdirRRRtisdirRgtappend(RR8tentry((s/usr/lib/python2.6/mailbox.pytlist_folders|s$%cCs/ttii|id|d|idtS(s/Return a Maildir instance for the named folder.RRR(RRRRgRRR<(Rtfolder((s/usr/lib/python2.6/mailbox.pyt
get_folders	cCstii|id|}t|d|i}tii|d}tii|p*titi|ti	ti
Bdn|S(s>Create a folder and return a Maildir instance representing it.RRt
maildirfolderi(RRRgRRRReRERtO_CREATtO_WRONLY(RRRR8tmaildirfolder_path((s/usr/lib/python2.6/mailbox.pyt
add_folderscCstii|id|}xztitii|dtitii|dD]>}t|djp|ddjotd|qWqWWxzti|D]i}|djoV|djoI|djo<tiitii||otd||fqqWxti|d	t	D]i\}}}x*|D]"}ti
tii||qBWx*|D]"}titii||qoWq,Wti|d
S(s-Delete the named folder, which must be empty.RRcRdiisFolder contains message(s): %sRbs%Folder contains subdirectory '%s': %sttopdownN(RRRgRRRt
NotEmptyErrorRtwalkR<R trmdir(RRRRtroottdirstfiles((s/usr/lib/python2.6/mailbox.pyt
remove_folders*$'" $cCsti}xrtitii|idD]O}tii|id|}|tii|djoti|q.q.WdS(sDelete old files in "tmp".Rbi@N(ttimeRRRRgRRzR (RtnowRR((s/usr/lib/python2.6/mailbox.pytcleans"icCsUti}ti}d|jo|idd}nd|jo|idd}ndt|t|ddtiti|f}ti	i
|id|}yti|Wn~t
j
or}|itijoStid7_yt|SWq<t
j
o#}|itijoq5q<XqAnXtd	|d
S(s=Create a file in the tmp subdirectory and open and return it.t/s\057Ras\072s%s.M%sP%sQ%s.%sig.ARbs&Name clash prevented file creation: %sN(RtsockettgethostnameRPtintRtgetpidRt_countRRgRtstatRuRvRt_create_carefullyRwRx(RRthostnameRRR((s/usr/lib/python2.6/mailbox.pyRls,

&cCsh|_xdD]}tii|i|}xxti|D]g}tii||}tii|oq>n|i|id}tii|||i|<q>WqWdS(s!Update table of contents mapping.RcRdiN(snewscur(	RiRRRgRRRRsRo(RR}tsubdir_pathRtpR((s/usr/lib/python2.6/mailbox.pyRs	cCsy<tiitii|i|i|o|i|SWntj
onX|iy|i|SWn#tj
otd|nXdS(s=Use TOC to return subpath for given key, or raise a KeyError.sNo message with key: %sN(RRReRgRRiR"R(RR((s/usr/lib/python2.6/mailbox.pyRs,
cCswt|dp|i|_nxMtoEy||iiSWq&tj
odStj
o
q&q&Xq&WdS(s0Return the next message in a one-time iteration.t
_onetime_keysN(R;R+RR=tnextt
StopIterationR`R"(R((s/usr/lib/python2.6/mailbox.pyRs( R]R^R_Rotrfc822RR=RRR R#R$R(R*R)R+R4R6RBRCRDRERRRRRRRlRRR(((s/usr/lib/python2.6/mailbox.pyRs6
	"							
										
					t_singlefileMailboxcBseZdZdedZdZdZdZdZ	dZ
dZdZd	Z
d
ZdZdZd
ZdZddZdZRS(sA single-file mailbox.cCsti||||yt|id}Wntj
ox}|itijo0|ot|id}qt|iq|itijot|id}qnX||_	d|_d|_t
|_t
|_d|_dS(s!Initialize a single-file mailbox.srb+swb+RiN(RRRRtIOErrorRvRRhtEACCESt_fileR`Rit	_next_keyR<t_pendingt_lockedt_file_length(RRRRRR((s/usr/lib/python2.6/mailbox.pyRs"					cCsF|i|i||i|i<|id7_t|_|idS(s$Add message and return assigned key.i(Rt_append_messageRiRR=R(RR((s/usr/lib/python2.6/mailbox.pyRs

	cCs$|i||i|=t|_dS(s=Remove the keyed message; raise KeyError if it doesn't exist.N(RRiR=R(RR((s/usr/lib/python2.6/mailbox.pyR s

cCs0|i||i||i|<t|_dS(s>Replace the keyed message; raise KeyError if it doesn't exist.N(RRRiR=R(RRR((s/usr/lib/python2.6/mailbox.pyR$s
ccs-|ix|iiD]}|VqWdS(sReturn an iterator over keys.N(RRiR-(RR((s/usr/lib/python2.6/mailbox.pyR+"s
cCs|i||ijS(s9Return True if the keyed message exists, False otherwise.(RRi(RR((s/usr/lib/python2.6/mailbox.pyR4(s
cCs|it|iS(s*Return a count of messages in the mailbox.(RRRi(R((s/usr/lib/python2.6/mailbox.pyR6-s
cCs(|ipt|it|_ndS(sLock the mailbox.N(Rt
_lock_fileRR=(R((s/usr/lib/python2.6/mailbox.pyRC2s

cCs(|iot|it|_ndS(s#Unlock the mailbox if it is locked.N(Rt_unlock_fileRR<(R((s/usr/lib/python2.6/mailbox.pyRD8s

c
Csx|ipdS|iidd|ii}||ijotd|i|fnt|i}yh}|i|xt	|i
iD]}|i
|\}}|ii||i||i}xSt
oK|iitd||ii}|djoPn|i|qW||if||<|i|qWWn$|iti|inXt||iiyti|i|iWnxtj
ol}	|	itijp#tidjo=|	itijo*ti|iti|i|iq,nXt|id|_||_
t|_|iot|id	tndS(
s"Write any pending changes to disk.Niis4Size of mailbox file changed (expected %i, found %i)iRGtos2srb+tdotlock( RRRNttellRRxt_create_temporaryRt_pre_mailbox_hooktsortedRiR-t_pre_message_hookR=RFtminROt_post_message_hookRERR RrRmRtRuRvRwRRR<RR(
Rtcur_lentnew_filetnew_tocRtstarttstopt	new_startRYR((s/usr/lib/python2.6/mailbox.pyRB>sZ
	





#		
cCsdS(s,Called before writing the mailbox to file f.N((RR((s/usr/lib/python2.6/mailbox.pyRxscCsdS(s-Called before writing each message to file f.N((RR((s/usr/lib/python2.6/mailbox.pyR|scCsdS(s,Called after writing each message to file f.N((RR((s/usr/lib/python2.6/mailbox.pyRscCs3|i|io|in|iidS(sFlush and close the mailbox.N(RBRRDRRE(R((s/usr/lib/python2.6/mailbox.pyREs

cCsh|idjo|in|dj	o9y|i|SWqdtj
otd|qdXndS(s'Return (start, stop) or raise KeyError.sNo message with key: %sN(RiR`t
_generate_tocR"(RR((s/usr/lib/python2.6/mailbox.pyRs
cCse|iidd|i|i|i|}|i|i|ii|ii|_|S(s;Append message to mailbox and return (start, stop) offsets.ii(RRNRt_install_messageRRBRR(RRtoffsets((s/usr/lib/python2.6/mailbox.pyRs
N(R]R^R_R`R=RRR R$R+R4R6RCRDRBRRRRERR(((s/usr/lib/python2.6/mailbox.pyRs"									:				
t	_mboxMMDFcBs>eZdZeZdZedZedZdZ	RS(sAn mbox or MMDF mailbox.cCs|i|\}}|ii||iiitid}|ii||ii}|i	|itid}|i
|d|S(s4Return a Message representation or raise a KeyError.RGs
i(RRRNRSRPRRQRFRt_message_factorytset_from(RRRRt	from_linetstringR((s/usr/lib/python2.6/mailbox.pyR(scCso|i|\}}|ii||p|iin|ii||ii}|itidS(s3Return a string representation or raise a KeyError.s
(	RRRNRSRFRRPRRQ(RRtfrom_RRR((s/usr/lib/python2.6/mailbox.pyR*scCsY|i|\}}|ii||p|iint|i|ii|S(s6Return a file-like representation or raise a KeyError.(RRRNRSt_PartialFileR(RRRRR((s/usr/lib/python2.6/mailbox.pyR)s
cCs:d}t|toX|idoH|id}|djo|| }||d}q|}d}nKt|tod|i}n't|tii	o|i
}n|djodtiti
}n|ii}|ii|ti|i||i|i|ii}||fS(s1Format a message and blindly write to self._file.sFrom s
iiRGsFrom MAILER-DAEMON %sN(R`RHRRRTtfindt_mboxMMDFMessagetget_fromRIRRtget_unixfromRtasctimetgmtimeRRRORRQR\t
_mangle_from_(RRRtnewlineRR((s/usr/lib/python2.6/mailbox.pyRs& 



(
R]R^R_R=RR(R<R*R)R(((s/usr/lib/python2.6/mailbox.pyRs	
	cBs5eZdZeZdedZdZdZRS(sA classic mbox mailbox.cCs#t|_ti||||dS(sInitialize an mbox mailbox.N(R	RRR(RRRR((s/usr/lib/python2.6/mailbox.pyRs	cCs+|idjo|itindS(s-Called before writing each message to file f.iN(RRORRQ(RR((s/usr/lib/python2.6/mailbox.pyRscCsgg}}|iidxto|ii}|ii}|idoHt|t|jo|i|tti	n|i|q |djo|i|Pq q Wt
tt|||_
t|i
|_|ii|_dS(s0Generate key-to-(start, stop) table of contents.isFrom RGN(RRNR=RRSRTRRRRQtdictt	enumeratetzipRiRR(Rtstartststopstline_posR[((s/usr/lib/python2.6/mailbox.pyRs 



N(	R]R^R_R=RR`RRR(((s/usr/lib/python2.6/mailbox.pyRs
	cBs8eZdZdedZdZdZdZRS(sAn MMDF mailbox.cCs#t|_ti||||dS(sInitialize an MMDF mailbox.N(RRRR(RRRR((s/usr/lib/python2.6/mailbox.pyRs	cCs|idtidS(s-Called before writing each message to file f.sN(RORRQ(RR((s/usr/lib/python2.6/mailbox.pyRscCs|itidtidS(s,Called after writing each message to file f.sN(RORRQ(RR((s/usr/lib/python2.6/mailbox.pyRscCsngg}}|iidd}xto|}|ii}|ii}|idtio|i|xtoz|}|ii}|ii}|dtijo|i|t	tiPqx|djo|i|PqxqxWq&|djoPq&q&Wt
tt|||_
t	|i
|_|iidd|ii|_dS(s0Generate key-to-(start, stop) table of contents.isRGiN(RRNR=RSRRTRRQRRRRRRiRR(RRRtnext_posRR[((s/usr/lib/python2.6/mailbox.pyRs6





N(	R]R^R_R`R=RRRR(((s/usr/lib/python2.6/mailbox.pyRs
		cBseZdZdedZdZdZdZdZ	dZ
dZdZd	Z
d
ZdZdZd
ZdZdZdZdZdZdZdZdZdZRS(sAn MH mailbox.cCsti||||tii|ipp|oVti|idtititii	|idti
tiBtiBdqt
|int|_dS(sInitialize an MH instance.is
.mh_sequencesiN(RRRRReRRfRERRgRtO_EXCLRRhR<R(RRRR((s/usr/lib/python2.6/mailbox.pyR+s!"c	Cs|i}t|djo
d}nt|d}tii|it|}t|}zp|i	ot
|nz8|i||t|t
o|i||nWd|i	ot|nXWdt|X|S(s$Add message and return assigned key.iiN(R-RtmaxRRRgRRRRRRR\RHR
t_dump_sequencesRRm(RRR-tnew_keyRR((s/usr/lib/python2.6/mailbox.pyR7s"


cCstii|it|}yt|d}Wn?tj
o3}|itijot	d|qsnXzk|i
ot|nz3|iti
tii|it|Wd|i
ot|nXWd|iXdS(s=Remove the keyed message; raise KeyError if it doesn't exist.srb+sNo message with key: %sN(RRRgRRRRRRvRR"RRRER R(RRRRR((s/usr/lib/python2.6/mailbox.pyR Ns 

)
cCstii|it|}yt|d}Wn?tj
o3}|itijot	d|qsnXz|i
ot|nz[titi|ti
tiB|i||t|to|i||nWd|i
ot|nXWdt|XdS(s>Replace the keyed message; raise KeyError if it doesn't exist.srb+sNo message with key: %sN(RRRgRRRRRRvRR"RRRERtO_TRUNCR\RHR
RRRm(RRRRRR((s/usr/lib/python2.6/mailbox.pyR$ds$
#
cCs=y`|io+ttii|it|d}n(ttii|it|d}Wn?tj
o3}|iti	jot
d|qnXzH|iot|nzt|}Wd|iot
|nXWd|iXx>|iiD]*\}}||jo|i|qqW|S(s4Return a Message representation or raise a KeyError.sr+RsNo message with key: %sN(RRRRRgRRRRRvRR"RR
RREt
get_sequencesR2tadd_sequence(RRRRRRrtkey_list((s/usr/lib/python2.6/mailbox.pyR(|s*
++


cCsy`|io+ttii|it|d}n(ttii|it|d}Wn?tj
o3}|iti	jot
d|qnXzF|iot|nz|iSWd|iot
|nXWd|iXdS(s3Return a string representation or raise a KeyError.sr+RsNo message with key: %sN(RRRRRgRRRRRvRR"RRFRRE(RRRR((s/usr/lib/python2.6/mailbox.pyR*s 
++

cCswy+ttii|it|d}Wn?tj
o3}|itijot	d|qmnXt
|S(s6Return a file-like representation or raise a KeyError.RsNo message with key: %s(RRRRgRRRRRvRR"R(RRRR((s/usr/lib/python2.6/mailbox.pyR)s+cCs&ttdti|iDS(sReturn an iterator over keys.css0x)|]"}|iot|VqqWdS(N(tisdigitR(t.0R((s/usr/lib/python2.6/mailbox.pys	<genexpr>s	(titerRRRR(R((s/usr/lib/python2.6/mailbox.pyR+scCs(tiitii|it|S(s9Return True if the keyed message exists, False otherwise.(RRReRgRRR(RR((s/usr/lib/python2.6/mailbox.pyR4scCstt|iS(s*Return a count of messages in the mailbox.(RR,R+(R((s/usr/lib/python2.6/mailbox.pyR6scCsL|ip>ttii|idd|_t|it|_ndS(sLock the mailbox.s
.mh_sequencessrb+N(	RRRRRgRRRR=(R((s/usr/lib/python2.6/mailbox.pyRCs
$
cCs;|io-t|it|i|`t|_ndS(s#Unlock the mailbox if it is locked.N(RRRRmR<(R((s/usr/lib/python2.6/mailbox.pyRDs



cCsdS(s&Write any pending changes to the disk.N((R((s/usr/lib/python2.6/mailbox.pyRBscCs|io|indS(sFlush and close the mailbox.N(RRD(R((s/usr/lib/python2.6/mailbox.pyREs
cCs]g}xPti|iD]<}tiitii|i|o|i|qqW|S(sReturn a list of folder names.(RRRRRRgR(RR8R((s/usr/lib/python2.6/mailbox.pyRs%cCs+ttii|i|d|idtS(s+Return an MH instance for the named folder.RR(RRRRgRRR<(RR((s/usr/lib/python2.6/mailbox.pyRscCs%ttii|i|d|iS(s:Create a folder and return an MH instance representing it.R(RRRRgRR(RR((s/usr/lib/python2.6/mailbox.pyRscCstii|i|}ti|}|dgjo titii|dn%|gjontd|iti|dS(s-Delete the named folder, which must be empty.s
.mh_sequencessFolder not empty: %sN(RRRgRRR RR(RRRtentries((s/usr/lib/python2.6/mailbox.pyRs 
c
Csh}ttii|idd}zGt|i}x.|D]&}y|id\}}t}xq|iD]c}|io|i	t
|qwd|idD\}	}
|it|	|
dqwWg}t
|D]}||jo||qq~||<t||djo||=nWqCtj
otd|iqCXqCWWd	|iX|S(
s=Return a name-to-key-list dictionary to define each sequence.s
.mh_sequencesRRacssx|]}t|VqWdS(N(R(Rtx((s/usr/lib/python2.6/mailbox.pys	<genexpr>
s	t-iis"Invalid sequence specification: %sN(RRRRgRtsetR-RsRRRRAtrangeRRt
ValueErrortFormatErrortrstripRE(
RtresultsRtall_keysR[RrtcontentsR-tspecRRt_[1]R((s/usr/lib/python2.6/mailbox.pyRs0!	

%c	Csottii|idd}z<titi|ititiBx|i	D]\}}t
|djoqWn|id|d
}t
}xtt|D]x}|d|jo"|pt}|idqn:|o!t
}|id||fn|id||}qW|o|it|d	qW|id	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(RRRRgRRERrRRR2RROR`R<RRR=RRRm(Rt	sequencesRRrR-tprevt
completingR((s/usr/lib/python2.6/mailbox.pyt
set_sequencess2!&

c	Cs|i}d}g}x|iD]}|d|jo|i||dfttdomtitii|it	|tii|it	|dti
tii|it	|qtitii|it	|tii|it	|dn|d7}q%W|d|_t
|djodSxU|iD]G\}}x8|D]0\}}||jo|||i|<qkqkWqXW|i|dS(s?Re-name messages to eliminate numbering gaps. Invalidates keys.iiRkN(RR+RR;RRkRRgRRRtunlinkRtRRR3tindexR(	RRR	tchangesRRrRtoldRc((s/usr/lib/python2.6/mailbox.pytpack4s0
!#)!'


cCs|i}|i}xY|iD]K\}}||jo|i|q%||jo||i|=q%q%Wx,|D]$}||jo|g||<q{q{W|i|dS(s;Inspect a new MHMessage and update sequences appropriately.N(RR2RR
R(RRRtpending_sequencest
all_sequencesRrRtsequence((s/usr/lib/python2.6/mailbox.pyRMs



N(R]R^R_R`R=RRR R$R(R*R)R+R4R6RCRDRBRERRRRRRRR(((s/usr/lib/python2.6/mailbox.pyR(s.																				cBseZdZedZdedZd	Zd
Z	dZ
dZd
ZdZ
dZdZdZdZdZdZRS(sAn Rmail-style Babyl mailbox.tunseentdeletedtfiledtansweredt	forwardedteditedtresentcCs#ti||||h|_dS(sInitialize a Babyl mailbox.N(RRt_labels(RRRR((s/usr/lib/python2.6/mailbox.pyRbscCs=ti||}t|to|i|i|<n|S(s$Add message and return assigned key.(RRRHRt
get_labelsR(RRR((s/usr/lib/python2.6/mailbox.pyRgscCs2ti||||ijo|i|=ndS(s=Remove the keyed message; raise KeyError if it doesn't exist.N(RR R(RR((s/usr/lib/python2.6/mailbox.pyR nscCs>ti|||t|to|i|i|<ndS(s>Replace the keyed message; raise KeyError if it doesn't exist.N(RR$RHRRR(RRR((s/usr/lib/python2.6/mailbox.pyR$tsc	Cs|i|\}}|ii||iiti}x]toU|ii}|dtijp
|djoPn|i|i	tidqAWti}xYtoQ|ii}|tijp
|djoPn|i|i	tidqW|ii
||iii	tid}t|i
|}|i|i
||ijo|i|i|n|S(s4Return a Message representation or raise a KeyError.s*** EOOH ***RGs
(RRRNRSRJR=RRQRORPRFRRtgetvaluetset_visibleRt
set_labels(	RRRRtoriginal_headersR[tvisible_headerstbodyR((s/usr/lib/python2.6/mailbox.pyR(zs0
!!!%	cCs|i|\}}|ii||iiti}x]toU|ii}|dtijp
|djoPn|i|i	tidqAWx=to5|ii}|tijp
|djoPqqW|i
|ii||iii	tidS(s3Return a string representation or raise a KeyError.s*** EOOH ***RGs
(
RRRNRSRJR=RRQRORPRRFR(RRRRR R[((s/usr/lib/python2.6/mailbox.pyR*s$
!!
	%cCs%ti|i|idtiS(s6Return a file-like representation or raise a KeyError.s
(RJR*RPRRQ(RR((s/usr/lib/python2.6/mailbox.pyR)scCsT|it}x$|iiD]}|i|q#W|i|it|S(s4Return a list of user-defined labels in the mailbox.(RRRR1RAtdifference_updatet_special_labelsR,(Rtlabelst
label_list((s/usr/lib/python2.6/mailbox.pyRs
	c
Csgg}}|iidd}g}xutom|}|ii}|ii}|dtijot|t|jo|i|ttin|i|g}|iidi	dD]*}|i
djo||i
qq~}	|i|	q,|djp|dtijo;t|t|jo|i|ttiqq,|djo|i|ttiPq,q,Wttt
|||_tt||_t|i|_|iidd|ii|_dS(	s0Generate key-to-(start, stop) table of contents.isit,RGsiN(RRNR=RSRRRQRRRststripRRRRiRRR(
RRRRtlabel_listsRR[RtlabelR%((s/usr/lib/python2.6/mailbox.pyRs8

 -!"

cCs9|idtitidi|itifdS(s,Called before writing the mailbox to file f.s(BABYL OPTIONS:%sVersion: 5%sLabels:%s%sR'N(RORRQRgR(RR((s/usr/lib/python2.6/mailbox.pyRs	cCs|idtidS(s-Called before writing each message to file f.sN(RORRQ(RR((s/usr/lib/python2.6/mailbox.pyRscCs|itiddS(s,Called after writing each message to file f.sN(RORRQ(RR((s/usr/lib/python2.6/mailbox.pyRsc
CsX|ii}t|tog}g}xB|iD]4}||ijo|i|q8|i|q8W|iidx"|D]}|iid|qW|iidx&|D]}|iid|dqW|iiti	n|iidti	t|t
iiot
i
}t
ii|td}|i||idxVtoN|i}|ii|idti	|djp
|d	joPqcqcW|iid
ti	t|tot
i
}	t
ii|	td}
|
i|ixtoN|	i}|ii|idti	|djp
|d	joPqqWng|idxVtoN|i}|ii|idti	|djp
|d	joPqqWxbtoD|id}|d	joPn|ii|idti	qWnt|to|idd
}|d
djo|ii|| idti	|iid
ti	|ii|| idti	|ii||idti	q?|iid
ti	ti	|ii|idti	nt|do|i}
t}xto|i}|ii|idti	|djp
|d	jo:|iid
ti	|ot}|i|
qPqKqKWxftoD|id}|d	joPn|ii|idti	qWntdt||ii}||fS(s0Write message contents and return (start, stop).t1s, s,,t R's1,,is
RGs*** EOOH ***is

iiRSsInvalid message type: %s(RRRHRRR$RRORRQRIRRRJRKRLR<RMRNR=RSRPtget_visibleRFRRRR;RURV(RRRtspecial_labelsR%R*torig_buffertorig_generatorR[t
vis_buffert
vis_generatorRYt
body_starttoriginal_post
first_passR((s/usr/lib/python2.6/mailbox.pyRs






(

#

((RRRRRRRN(R]R^R_t	frozensetR$R`R=RRR R$R(R*R)RRRRRR(((s/usr/lib/python2.6/mailbox.pyR\s 													cBs,eZdZddZdZdZRS(s0Message with mailbox-format-specific properties.cCst|tiio;|iti|t|to|i|qnt|to|iti	|net
|do|iti|n;|djotiii
|ntdt|dS(sInitialize a Message instance.RFsInvalid message type: %sN(RHRIRRt_become_messagetcopytdeepcopyt_explain_toRRtmessage_from_stringR;tmessage_from_fileR`RRURV(RR((s/usr/lib/python2.6/mailbox.pyR<s
cCs)x"d
D]}|i||i|<qWd	S(s0Assume the non-format-specific state of message.t_headerst	_unixfromt_payloadt_charsettpreambletepiloguetdefectst
_default_typeN(R=R>R?R@RARBRCRD(t__dict__(RRRr((s/usr/lib/python2.6/mailbox.pyR7KscCs%t|todStddS(s:Copy format-specific state to message insofar as possible.Ns Cannot convert to specified type(RHRRU(RR((s/usr/lib/python2.6/mailbox.pyR:QsN(R]R^R_R`RR7R:(((s/usr/lib/python2.6/mailbox.pyR9s	cBs}eZdZd
dZdZdZdZdZdZ	dZ
dZd	Zd
Z
dZdZRS(s)Message with Maildir-specific properties.cCs5d|_d|_ti|_ti||dS(s%Initialize a MaildirMessage instance.RcRGN(t_subdirt_infoRt_dateRR(RR((s/usr/lib/python2.6/mailbox.pyR\s		cCs|iS(sReturn 'new' or 'cur'.(RF(R((s/usr/lib/python2.6/mailbox.pyRncscCs;|djp
|djo
||_ntd|dS(sSet subdir to 'new' or 'cur'.RcRds!subdir must be 'new' or 'cur': %sN(RFR(RR}((s/usr/lib/python2.6/mailbox.pyRgs
cCs'|iido|idSdSdS(s*Return as a string the flags that are set.s2,iRGN(RGRT(R((s/usr/lib/python2.6/mailbox.pyt	get_flagsnscCs ddit||_dS(s)Set the given flags and unset all others.s2,RGN(RgRRG(Rtflags((s/usr/lib/python2.6/mailbox.pyt	set_flagsuscCs0|idit|it|BdS(s.Set the given flag(s) without changing others.RGN(RKRgRRI(Rtflag((s/usr/lib/python2.6/mailbox.pytadd_flagyscCsG|idjo0|idit|it|ndS(s7Unset the given string flag(s) without changing others.RGN(RIRKRgR(RRL((s/usr/lib/python2.6/mailbox.pytremove_flag}scCs|iS(s<Return delivery date of message, in seconds since the epoch.(RH(R((s/usr/lib/python2.6/mailbox.pyR{scCs=yt||_Wn#tj
otd|nXdS(s9Set delivery date of message, in seconds since the epoch.scan't convert to float: %sN(tfloatRHRRU(Rtdate((s/usr/lib/python2.6/mailbox.pyRscCs|iS(s%Get the message's "info" as a string.(RG(R((s/usr/lib/python2.6/mailbox.pyRpscCs7t|to
||_ntdt|dS(s Set the message's "info" string.sinfo must be a string: %sN(RHRRRGRURV(Rtinfo((s/usr/lib/python2.6/mailbox.pyRs
cCszt|to=|i|i|i|i|i|in*t|tot	|i}d|jo|i
dn|idjo|i
dnd|jo|i
dnd|jo|i
dnd|jo|i
dn|id	ti
|inIt|topt	|i}d|jo|id
nd|jo|idnd|jo|idqvnt|tot	|i}d|jo|id
nd|jo|id
nd|jo|idnd|jo|idqvn+t|tontdt|dS(s;Copy Maildir-specific state to message insofar as possible.tStRRdtOtTtDtFtAs
MAILER-DAEMONRtrepliedtflaggedRRtPRs$Cannot convert to specified type: %sN(RHRRKRIRRnRR{RRRMRRRR
RRt	add_labelRRURV(RRRJ((s/usr/lib/python2.6/mailbox.pyR:sN



#






N(R]R^R_R`RRnRRIRKRMRNR{RRpRR:(((s/usr/lib/python2.6/mailbox.pyRYs										RcBs\eZdZd	dZdZd	dZdZdZdZ	dZ
dZRS(
s/Message with mbox- or MMDF-specific properties.cCs||idtt|tiioB|i}|dj	o%|ido|i|dqhnti	||dS(s'Initialize an mboxMMDFMessage instance.s
MAILER-DAEMONsFrom iN(
RR=RHRIRRRR`RTR(RRtunixfrom((s/usr/lib/python2.6/mailbox.pyRscCs|iS(s Return contents of "From " line.(t_from(R((s/usr/lib/python2.6/mailbox.pyRscCsR|dj	o8|tjoti}n|dti|7}n||_dS(s>Set "From " line, formatting and appending time_ if specified.R,N(R`R=RRRR^(RRttime_((s/usr/lib/python2.6/mailbox.pyRs


cCs |idd|iddS(s*Return as a string the flags that are set.tStatusRGsX-Status(R'(R((s/usr/lib/python2.6/mailbox.pyRIsc
Cst|}d
\}}x6dD].}||jo||7}|i|qqWx6dD].}||jo||7}|i|qXqXW|dit|7}y|id|Wn#tj
o|id|nXy|id|Wn#tj
o|id|nXd	S(
s)Set the given flags and unset all others.RGRSRTRVRWRXR`sX-StatusN(RGRG(RSRT(RVRWRX(RR RgRtreplace_headerR"t
add_header(RRJtstatus_flagst
xstatus_flagsRL((s/usr/lib/python2.6/mailbox.pyRKs*



cCs0|idit|it|BdS(s.Set the given flag(s) without changing others.RGN(RKRgRRI(RRL((s/usr/lib/python2.6/mailbox.pyRMscCsNd|jp
d|jo0|idit|it|ndS(s7Unset the given string flag(s) without changing others.R`sX-StatusRGN(RKRgRRI(RRL((s/usr/lib/python2.6/mailbox.pyRNsc	Cst|tot|i}d|jo|idnd|jo|idnd|jo|idnd|jo|idnd|jo|idn|d	=|d
=di|iid}y&|i	t
iti
|d
Wqttfj
oqXnt|to*|i|i|i|inGt|to~t|i}d|jo|idnd|jo|idnd|jo|idn|d	=|d
=nt|to~t|i}d|jo|idnd|jo|idnd|jo|idn|d	=|d
=n+t|tontdt|dS(sACopy mbox- or MMDF-specific state to message insofar as possible.RTRdRWRXRSRRRVRUtstatussx-statusR,is%a %b %d %H:%M:%S %YRRYRZRRs$Cannot convert to specified type: %sN(RHRRRIRRMRgRRsRtcalendarttimegmRtstrptimeRt
OverflowErrorRRKRR
RRR\RRURV(RRRJt
maybe_date((s/usr/lib/python2.6/mailbox.pyR:s^




	





N(R]R^R_R`RRRRIRKRMRNR:(((s/usr/lib/python2.6/mailbox.pyRs						cBseZdZRS(s&Message with mbox-specific properties.(R]R^R_(((s/usr/lib/python2.6/mailbox.pyR	3scBsGeZdZddZdZdZdZdZdZ	RS(s$Message with MH-specific properties.cCsg|_ti||dS(s!Initialize an MHMessage instance.N(t
_sequencesRR(RR((s/usr/lib/python2.6/mailbox.pyR:s	cCs|iS(s4Return a list of sequences that include the message.(Rk(R((s/usr/lib/python2.6/mailbox.pyR?scCst||_dS(s3Set the list of sequences that include the message.N(R,Rk(RR((s/usr/lib/python2.6/mailbox.pyRCscCsRt|to(||ijo|ii|qNntdt|dS(s8Add sequence to list of sequences including the message.ssequence must be a string: %sN(RHRRRkRRURV(RR((s/usr/lib/python2.6/mailbox.pyRGscCs.y|ii|Wntj
onXdS(sARemove sequence from the list of sequences including the message.N(RkR R(RR((s/usr/lib/python2.6/mailbox.pytremove_sequenceOscCst|tot|i}d|jo|idn|id|idd|jo|idnd|jo|idqnRt|to}t|i}d|jo|idn|id	d|jo|idnd|jo|id
qnt|to(x|iD]}|i|qDWnt|t	oRt|i}d|jo|i
dnd|jo|i
dqn+t|tontdt
|d
S(s6Copy MH-specific state to message insofar as possible.RRdRRRZRWRYRStRORTRXRs$Cannot convert to specified type: %sN(RHRRRRRMRR
RRR\RRURV(RRRR((s/usr/lib/python2.6/mailbox.pyR:VsB











N(
R]R^R_R`RRRRRlR:(((s/usr/lib/python2.6/mailbox.pyR
7s				cBsbeZdZd
dZdZdZdZdZdZ	dZ
dZd	ZRS(s'Message with Babyl-specific properties.cCs)g|_t|_ti||dS(s$Initialize an BabylMessage instance.N(RRt_visibleR(RR((s/usr/lib/python2.6/mailbox.pyRs	cCs|iS(s'Return a list of labels on the message.(R(R((s/usr/lib/python2.6/mailbox.pyRscCst||_dS(s&Set the list of labels on the message.N(R,R(RR%((s/usr/lib/python2.6/mailbox.pyRscCsRt|to(||ijo|ii|qNntdt|dS(s+Add label to list of labels on the message.slabel must be a string: %sN(RHRRRRRURV(RR*((s/usr/lib/python2.6/mailbox.pyR\scCs.y|ii|Wntj
onXdS(s4Remove label from the list of labels on the message.N(RR R(RR*((s/usr/lib/python2.6/mailbox.pytremove_labelscCs
t|iS(s3Return a Message representation of visible headers.(RRn(R((s/usr/lib/python2.6/mailbox.pyR-scCst||_dS(s2Set the Message representation of visible headers.N(RRn(Rtvisible((s/usr/lib/python2.6/mailbox.pyRscCsxI|iiD]8}||jo|ii|||q|i|=qWx@dD]8}||jo%||ijo|||i|<qSqSWdS(	s9Update and/or sensibly generate a set of visible headers.tDatetFromsReply-TotTotCCtSubjectN(RqRrsReply-ToRsRtRu(RnR-Ra(Rtheader((s/usr/lib/python2.6/mailbox.pytupdate_visibles
cCs-t|tot|i}d|jo|idn|id|idd|jp
d|jo|idnd|jo|idnd	|jo|id
q)net|to}t|i}d|jo|idn|idd	|jo|id
nd|jo|idq)nt|toRt|i}d|jo|idnd|jo|idq)nvt|t	o;|i
|ixO|iD]}|i|qWn+t|t
ontdt|dS(s9Copy Babyl-specific state to message insofar as possible.RRdRRRRR[RRSRRURmRTRVRXRYs$Cannot convert to specified type: %sN(RHRRRRRMRR
RRRR-R\RRURV(RRR%R*((s/usr/lib/python2.6/mailbox.pyR:sH











N(
R]R^R_R`RRRR\RoR-RRwR:(((s/usr/lib/python2.6/mailbox.pyR}s							cBseZdZRS(s&Message with MMDF-specific properties.(R]R^R_(((s/usr/lib/python2.6/mailbox.pyRsRcBsneZdZddZddZddZddZdZdZ	ddZ
d	Zd
ZRS(sA read-only wrapper of a file.cCs6||_|djo|i|_n
||_dS(sInitialize a _ProxyFile.N(RR`Rt_pos(RRtpos((s/usr/lib/python2.6/mailbox.pyRs	
cCs|i||iiS(sRead bytes.(t_readRRF(Rtsize((s/usr/lib/python2.6/mailbox.pyRFscCs|i||iiS(sRead a line.(RzRRS(RR{((s/usr/lib/python2.6/mailbox.pyRSscCs[g}xN|D]F}|i||dj	o&|t|8}|djoPqSq
q
W|S(sRead multiple lines.iN(RR`R(RtsizehintR8R[((s/usr/lib/python2.6/mailbox.pyt	readliness



cCst|idS(sIterate over lines.RG(RRS(R((s/usr/lib/python2.6/mailbox.pyR0scCs|iS(sReturn the position.(Rx(R((s/usr/lib/python2.6/mailbox.pyRsicCsM|djo|ii|in|ii|||ii|_dS(sChange position.iN(RRNRxR(Rtoffsettwhence((s/usr/lib/python2.6/mailbox.pyRNs
cCs
|`dS(sClose the file.N(R(R((s/usr/lib/python2.6/mailbox.pyREscCsL|djo
d}n|ii|i||}|ii|_|S(s"Read size bytes using read_method.iN(R`RRNRxR(RR{tread_methodR8((s/usr/lib/python2.6/mailbox.pyRzs

N(
R]R^R_R`RRFRSR}R0RRNRERz(((s/usr/lib/python2.6/mailbox.pyRs			RcBs;eZdZdddZdZddZdZRS(s&A read-only wrapper of part of a file.cCs)ti|||||_||_dS(sInitialize a _PartialFile.N(RRt_startt_stop(RRRR((s/usr/lib/python2.6/mailbox.pyRs	cCsti||iS(s*Return the position with respect to start.(RRR(R((s/usr/lib/python2.6/mailbox.pyR"sicCs]|djo|i|_d}n$|djo|i|_d}nti|||dS(s8Change position, possibly with respect to start or stop.iiiN(RRxRRRN(RR~R((s/usr/lib/python2.6/mailbox.pyRN&s



cCsf|i|i}|djodS|djp|djp
||jo
|}nti|||S(s;Read size bytes using read_method, honoring start and stop.iRGN(RRxR`RRz(RR{Rt	remaining((s/usr/lib/python2.6/mailbox.pyRz0s
'
N(R]R^R_R`RRRNRz(((s/usr/lib/python2.6/mailbox.pyRs
	
cCst}ytopyti|titiBWqtj
o?}|ititifjot	d|i
q|qXn|o8y!t|i
d}|iWn0tj
o$}|itijodSnXyht
tdo4ti|i
|i
dt}ti|i
n!ti|i
|i
dt}Wqtj
oi}|itijp#ti
djo:|itijo'ti|i
t	d|i
qqXnWnGtoti|tin|oti|i
dnnXdS(s(Lock file f using lockf and dot locking.slockf: lock unavailable: %ss.lockNRkRsdot lock unavailable: %s(R<tfcntltlockftLOCK_EXtLOCK_NBRRvtEAGAINRRxRrRRER;RRkR=RRtRuRwR tLOCK_UN(RRtdotlock_doneRtpre_lock((s/usr/lib/python2.6/mailbox.pyR:sL
#cCsTtoti|tintii|idoti|idndS(s*Unlock file f using lockf and dot locking.s.lockN(RRRRRReRrR (R((s/usr/lib/python2.6/mailbox.pyRgscCsLti|titiBtiBd}zt|dSWdti|XdS(sCCreate a file if it doesn't exist and open for reading and writing.isrb+N(RRRRtO_RDWRRE(Rtfd((s/usr/lib/python2.6/mailbox.pyRns&cCs2td|ttititifS(sBCreate a temp file based on path and open for reading and writing.s%s.%s.%s.%s(RRRRRRR(R((s/usr/lib/python2.6/mailbox.pyRvs	cCs5|ittdoti|indS(s0Ensure changes to file f are physically on disk.tfsyncN(RBR;RRtfileno(R((s/usr/lib/python2.6/mailbox.pyt_sync_flush|s
cCst||idS(s:Close file f, ensuring all changes are physically on disk.N(RRE(R((s/usr/lib/python2.6/mailbox.pyRms
t_MailboxcBs)eZeidZdZdZRS(cCs||_d|_||_dS(Ni(tfptseekpR(RRR((s/usr/lib/python2.6/mailbox.pyRs		cCst|idS(N(RRR`(R((s/usr/lib/python2.6/mailbox.pyR0scCsx|ii|iy|iWn&tj
o|ii|_dSX|ii}|i|ii|_}||joPqq|it	|i||S(N(
RRNRt
_search_starttEOFErrorRR`t_search_endRR(RRR((s/usr/lib/python2.6/mailbox.pyRs

(R]R^RRRR0R(((s/usr/lib/python2.6/mailbox.pyRs	cBs>eZdZdZdZdZdZdZeZ	RS(cCsoxh|ii}|ii}|p
tn|d djo%|i|o|ii|dSqdS(NisFrom (RRRSRt_isrealfromlineRN(RRyR[((s/usr/lib/python2.6/mailbox.pyRs
!cCsw|iixc|ii}|ii}|pdS|d djo%|i|o|ii|dSqdS(NisFrom (RRSRRRN(RRyR[((s/usr/lib/python2.6/mailbox.pyRs
!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?|ip%ddk}|i|i|_n|ii|S(Ni(t_regexptretcompilet_fromlinepatterntmatch(RR[R((s/usr/lib/python2.6/mailbox.pyt_strict_isrealfromlines
cCstS(N(R=(RR[((s/usr/lib/python2.6/mailbox.pyt_portable_isrealfromlinesN(
R]R^RRRR`RRRR(((s/usr/lib/python2.6/mailbox.pyR
s	
	$		cBseZeiZRS((R]R^R
RR(((s/usr/lib/python2.6/mailbox.pyRscBseZdZdZRS(cCs@x9|ii}|p
tn|d djodSqdS(Nis
(RRSR(RR[((s/usr/lib/python2.6/mailbox.pyRs
cCsVxO|ii}|ii}|pdS|djo|ii|dSqdS(Ns
(RRRSRN(RRyR[((s/usr/lib/python2.6/mailbox.pyRs
(R]R^RR(((s/usr/lib/python2.6/mailbox.pyRs	cBs)eZeidZdZdZRS(cCsddk}|id}||_ti|i}t|i|}tt|}|i	tt
||_|ii||_
dS(Nis
^[1-9][0-9]*$(RRRjRRtfilterRtmaptlongtsortRRtboxestreverseR(RRjRRtpatR,((s/usr/lib/python2.6/mailbox.pyRs	

cCst|idS(N(RRR`(R((s/usr/lib/python2.6/mailbox.pyR0scCsx|ipdS|ii}ttii|i|}|i|}y
||_	Wnt
tfj
onX|S(N(RR`R9RRRRgRjRt	_mh_msgnotAttributeErrorRU(RtfnRR((s/usr/lib/python2.6/mailbox.pyRs

(R]R^RRRR0R(((s/usr/lib/python2.6/mailbox.pyRs	cBseZdZdZRS(cCs<x5|ii}|p
tn|djodSqdS(Ns
*** EOOH ***
(RRSR(RR[((s/usr/lib/python2.6/mailbox.pyR%s

cCscx\|ii}|ii}|pdS|djp
|djo|ii|dSqdS(Ns
s(RRRSRN(RRyR[((s/usr/lib/python2.6/mailbox.pyR-s(R]R^RR(((s/usr/lib/python2.6/mailbox.pyR#s	tErrorcBseZdZRS(s"Raised for module-specific errors.(R]R^R_(((s/usr/lib/python2.6/mailbox.pyR:sRhcBseZdZRS(s:The specified mailbox does not exist and won't be created.(R]R^R_(((s/usr/lib/python2.6/mailbox.pyRh=sRcBseZdZRS(s>The specified mailbox is not empty and deletion was requested.(R]R^R_(((s/usr/lib/python2.6/mailbox.pyR@sRxcBseZdZRS(s)Another process caused an action to fail.(R]R^R_(((s/usr/lib/python2.6/mailbox.pyRxCsRcBseZdZRS(s)A file appears to have an invalid format.(R]R^R_(((s/usr/lib/python2.6/mailbox.pyRFs(7R_tsysRRRfRRvR8RIt
email.messagetemail.generatorRRJtplatformtImportErrorRR`t__all__RRRRRRRRRRRRR	R
RRRRR=RRRRRRmRR
RRRRt	ExceptionRRhRRxR(((s/usr/lib/python2.6/mailbox.pyt<module>st
	8"-5 koF];!-					
B"

ACC SHELL 2018