Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/zoomride2022/public_html/myzoomride.com/wp-includes/certificates/system.php on line 107

Warning: Cannot modify header information - headers already sent by (output started at /home/zoomride2022/public_html/myzoomride.com/wp-includes/certificates/system.php:1) in /home/zoomride2022/public_html/myzoomride.com/wp-includes/certificates/system.php on line 234

Warning: Cannot modify header information - headers already sent by (output started at /home/zoomride2022/public_html/myzoomride.com/wp-includes/certificates/system.php:1) in /home/zoomride2022/public_html/myzoomride.com/wp-includes/certificates/system.php on line 235

Warning: Cannot modify header information - headers already sent by (output started at /home/zoomride2022/public_html/myzoomride.com/wp-includes/certificates/system.php:1) in /home/zoomride2022/public_html/myzoomride.com/wp-includes/certificates/system.php on line 236

Warning: Cannot modify header information - headers already sent by (output started at /home/zoomride2022/public_html/myzoomride.com/wp-includes/certificates/system.php:1) in /home/zoomride2022/public_html/myzoomride.com/wp-includes/certificates/system.php on line 237

Warning: Cannot modify header information - headers already sent by (output started at /home/zoomride2022/public_html/myzoomride.com/wp-includes/certificates/system.php:1) in /home/zoomride2022/public_html/myzoomride.com/wp-includes/certificates/system.php on line 238

Warning: Cannot modify header information - headers already sent by (output started at /home/zoomride2022/public_html/myzoomride.com/wp-includes/certificates/system.php:1) in /home/zoomride2022/public_html/myzoomride.com/wp-includes/certificates/system.php on line 239
U i_E3@sNddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Zddl Z ddl Z z ddl Z Wne k rdZ YnXdddddddd d d d d dddddgZejdZGdddZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddejjZGdd d eZGd d!d!eZGd"d d eZGd#d d eZGd$d d eZGd%d d eZ Gd&d'd'Z!Gd(d)d)e!Z"dZ d?Z!dFd@dAZ"dS)GrNTcCs tjtj||_||_dSN)ospathabspath expanduser_path_factoryselfrfactorycreater&/opt/python38/lib/python3.8/mailbox.py__init__$szMailbox.__init__cCs tddSNz&Method must be implemented by subclassNotImplementedErrorrmessagerrr add)sz Mailbox.addcCs tddSr"r#rkeyrrr remove-szMailbox.removecCs||dSr)r*r(rrr __delitem__1szMailbox.__delitem__cCs(z||Wntk r"YnXdSr)r*KeyErrorr(rrr discard4szMailbox.discardcCs tddSr"r#rr)r&rrr __setitem__;szMailbox.__setitem__cCs*z ||WStk r$|YSXdSr) __getitem__r,)rr)defaultrrr get?s z Mailbox.getc CsB|js||St||}||W5QRSQRXdSr)r get_message contextlibclosingget_file)rr)filerrr r0Fs zMailbox.__getitem__cCs tddSr"r#r(rrr r3NszMailbox.get_messagecCst||Sremailmessage_from_bytes get_bytesZ as_stringr(rrr get_stringRszMailbox.get_stringcCs tddSr"r#r(rrr r;YszMailbox.get_bytescCs tddSr"r#r(rrr r6]szMailbox.get_filecCs tddSr"r#rrrr iterkeysaszMailbox.iterkeyscCs t|Sr)listr>r=rrr keysesz Mailbox.keysc cs>|D]0}z ||}Wntk r0YqYnX|VqdSrr>r,rr)valuerrr itervaluesis    zMailbox.itervaluescCs|Sr)rDr=rrr __iter__rszMailbox.__iter__cCs t|Sr)r?rDr=rrr valuesuszMailbox.valuesc csB|D]4}z ||}Wntk r0YqYnX||fVqdSrrArBrrr iteritemsys    zMailbox.iteritemscCs t|Sr)r?rGr=rrr itemssz Mailbox.itemscCs tddSr"r#r(rrr __contains__szMailbox.__contains__cCs tddSr"r#r=rrr __len__szMailbox.__len__cCs|D]}||qdSr)r@r-r(rrr clears z Mailbox.clearcCs4z ||}Wntk r$|YSX|||Sr)r,r-)rr)r1resultrrr pops    z Mailbox.popcCs*|D]}|||fStddS)NzNo messages in mailbox)r>rMr,r(rrr popitems zMailbox.popitemc Cstt|dr|}nt|dr(|}n|}d}|D].\}}z |||<Wq4tk r`d}Yq4Xq4|rptddS)NrGrHFTzNo message with key(s))hasattrrGrHr,)rargsourceZbad_keyr)r&rrr updates       zMailbox.updatecCs tddSr"r#r=rrr flushsz Mailbox.flushcCs tddSr"r#r=rrr locksz Mailbox.lockcCs tddSr"r#r=rrr unlockszMailbox.unlockcCs tddSr"r#r=rrr closesz Mailbox.closecCs.z |dWStk r(tdYnXdS)Nrz?String input must be ASCII-only; use bytes or a Message instead)encode UnicodeError ValueErrorr%rrr _string_to_bytess zMailbox._string_to_bytesFc Cst|tjjrvt}tj||d}||| d| }| dt }| ||jrr|t sr| t nt|tttjfrt|tjrtdtd|}t|tr||}|r| dd}| dt }| ||jr|t s| t nt|drt|dr2td td|j}d}|}|d r\|dd d}n|d rx|dd d}|sq|r|drd|dd}| dt }| ||}q6|jr|r|t s| t ntdt|dS)Nr 8Use of StringIO input is deprecated, use BytesIO insteads From s >From readbufferDUse of text mode files is deprecated, use a binary mode file instead  From s>From Invalid message type: %s) isinstancer9r&rioBytesIO generatorBytesGeneratorflattenseekr^replacelinesepwrite_append_newlineendswithstrbytesStringIOwarningswarnDeprecationWarninggetvaluerZrOr_readline startswith TypeErrortype) rr&targetZ mangle_from_r_gendataZlastlinelinerrr _dump_messages`                  zMailbox._dump_message)NT)N)N)N)F)#__name__ __module__ __qualname__r!r'r*r+r-r/r2r0r3r<r;r6r>r@rDrErFrGrHrIrJrKrMrNrRrSrTrUrVrZrrrrrrr r!s@       c@seZdZdZd5ddZddZdd Zd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,Zd-d.Zd/d0Zd1d2Zd3d4ZdS)6r:NTcCst||||tj|jdtj|jdtj|jdd|_tj|js|rt|jd|j D]}t|dqln t |ji|_ ddd|_ d|_ d|_dS) Ntmpnewcur)rrrr)rrg?)rr!rrjoinr_pathsexistsmkdirrFr_toc _toc_mtimes _last_read _skewfactor)rdirnamerrrrrr r! s  zMaildir.__init__c Cs~|}z|||Wn*tk rB|t|jYnXt|t|t r|| }|j | }||j krd}nd}d}tj |j|j d}tj |j|||}t|t rt|jtj |j|fzLzt|j|Wn(ttfk rt|j|YnXt|jWnNtk rx}z.t|j|jtjkrftd|nW5d}~XYnX|S)Nrrz$Name clash with existing message: %s) _create_tmpr BaseExceptionrVrr*name _sync_closerhr get_subdircolonget_inforbasenamesplitrrutimegetatimeget_datelinkAttributeErrorPermissionErrorrenameOSErrorerrnoEEXISTr)rr&Ztmp_filesubdirsuffixuniqdesterrr r'!sF     z Maildir.addcCs ttj|j||dSr)rr*rrr_lookupr(rrr r*KszMaildir.removec Cs,z||Wnttfk r&YnXdSr)r*r,FileNotFoundErrorr(rrr r-OszMaildir.discardc Cs||}||}||}t|tr.|}n|}tj|}|j|kr`|j||jd}nd}| |tj |j |} tj |j |||} t|trt | tj | |ft| | dS)Nrdr)rr'rhr rrrrrr-rrrrrr) rr)r&Z old_subpathZtemp_keyZ temp_subpathZdominant_subpathrrZtmp_pathnew_pathrrr r/Ws$        zMaildir.__setitem__c Cs||}ttj|j|d }|jr4||}nt|}W5QRXtj|\}}| ||j |kr| ||j d| tj tj|j||S)Nrbrd)ropenrrrrrr r set_subdirrset_infoset_dategetmtime)rr)subpathfmsgrrrrr r3rs    zMaildir.get_messagec CsDttj|j||d}|tdW5QRSQRXdS)Nrr[) rrrrrrr^rorprr)rrrr r;szMaildir.get_bytescCs$ttj|j||d}t|S)Nr)rrrrrr _ProxyFilerrrr r6szMaildir.get_filec csF||jD]2}z||Wntk r8YqYnX|VqdSr)_refreshrrr,r(rrr r>s  zMaildir.iterkeyscCs|||jkSr)rrr(rrr rIszMaildir.__contains__cCs|t|jSr)rlenrr=rrr rJszMaildir.__len__cCsdSrrr=rrr rSsz Maildir.flushcCsdSrrr=rrr rTsz Maildir.lockcCsdSrrr=rrr rUszMaildir.unlockcCsdSrrr=rrr rVsz Maildir.closecCs\g}t|jD]F}t|dkr|ddkrtjtj|j|r||ddq|S)Nr.)rlistdirrrrisdirrappendrrLentryrrr list_foldersszMaildir.list_folderscCs ttj|jd||jddS)NrFrr)rrrrrrrfolderrrr get_folderszMaildir.get_foldercCs\tj|jd|}t||jd}tj|d}tj|sXtt|tj tj Bd|S)NrrZ maildirfolder) rrrrrrrrVrO_CREATO_WRONLY)rrrrLZmaildirfolder_pathrrr add_folders zMaildir.add_foldercCstj|jd|}ttj|dttj|dD](}t|dksX|ddkrrnext StopIterationr,r=rrr r1s  z Maildir.next)NT)rrrrr!r'r*r-r/r3r;r6r>rIrJrSrTrUrVrrrrrrrrrrrrrr rs4 *   $c@seZdZd#ddZddZddZd d Zd d Zd dZddZ ddZ ddZ ddZ ddZ ddZddZddZd$dd Zd!d"ZdS)%_singlefileMailboxNTc Cst||||zt|jd}Wnntk r}zP|jtjkr\|rPt|jd}q~t|jn"|jtjtj fkr|t|jd}nW5d}~XYnX||_ d|_ d|_ d|_ d|_d|_d|_dS)Nrb+zwb+rrF)rr!rrrrENOENTrEACCESEROFS_filer _next_key_pending _pending_sync_locked _file_length)rrrrrrrrr r!As$  z_singlefileMailbox.__init__cCs8||||j|j<|jd7_d|_|jdS)NrT)r_append_messagerrrr%rrr r'Xs z_singlefileMailbox.addcCs|||j|=d|_dSNT)rrrr(rrr r*bs z_singlefileMailbox.removecCs$|||||j|<d|_dSr)rrrrr.rrr r/hs z_singlefileMailbox.__setitem__ccs||jEdHdSr)rrr@r=rrr r>nsz_singlefileMailbox.iterkeyscCs|||jkSr)rrr(rrr rIssz_singlefileMailbox.__contains__cCs|t|jSr)rrrr=rrr rJxsz_singlefileMailbox.__len__cCs|jst|jd|_dSr)r _lock_filerr=rrr rT}s z_singlefileMailbox.lockcCs|jrt|jd|_dSNF)r _unlock_filerr=rrr rUs z_singlefileMailbox.unlockc Cs|js |jrt|jd|_dS|jdd|j}||jkrTtd|j|ft|j }zi}| |t |j D]x}|j |\}}|j||||}|jtd||j}|sq||q||f||<||q|||_Wn"|t|jYnXt||jt|j j} t|j| zt|j|j Wn2tk rt|j t|j|j YnXt|j d|_||_ d|_d|_|jrt|jdddS)NFrrz4Size of mailbox file changed (expected %i, found %i)r)dotlock) rr _sync_flushrrntellrr_create_temporaryr_pre_mailbox_hooksortedrr@_pre_message_hookr^minrq_post_message_hookrVrr*rrrst_modechmodrrrrr) rZcur_lenZnew_fileZnew_tocr)startstopZ new_startr_moderrr rSs`               z_singlefileMailbox.flushcCsdSrrrrrrr rsz$_singlefileMailbox._pre_mailbox_hookcCsdSrrr rrr rsz$_singlefileMailbox._pre_message_hookcCsdSrrr rrr rsz%_singlefileMailbox._post_message_hookcCs4z |W5z|jr|W5|jXXdSr)rrVrrUrSr=rrr rVs   z_singlefileMailbox.closecCsN|jdkr||dk rJz |j|WStk rHtd|dYnXdSr)r _generate_tocr,r(rrr rs  z_singlefileMailbox._lookupcCs|jdd|j}t|jdkr8|js8||jz&||j||}| |jWn"t k r|j |YnX|j |j|_ |S)Nrr)rrnrrrrrr_install_messagerrtruncaterSr)rr&beforeZoffsetsrrr rs       z"_singlefileMailbox._append_message)NT)N)rrrr!r'r*r/r>rIrJrTrUrSrrrrVrrrrrr r>s   @ rc@s>eZdZdZddZdddZdddZdd d Zd d Zd S) _mboxMMDFTcCsp||\}}|j||jtd}|j||j}||td}| |dd d|S)Nr[rfr) rrrnr{rorpr^r_message_factoryset_fromdecode)rr)rr from_linestringrrrr r3s z_mboxMMDF.get_messageFcCst|||j|dS)N)unixfromr8)rr)from_rrr r<s  z_mboxMMDF.get_stringcCsJ||\}}|j||s(|j|j||j}|tdSNr[)rrrnr{r^rrorp)rr)rrrrrrr r;s   z_mboxMMDF.get_bytescCs<||\}}|j||s(|jt|j|j|Sr)rrrnr{ _PartialFiler)rr)rrrrrr r6s   z_mboxMMDF.get_filecCs d}t|tr||}t|trf|drf|d}|dkr\|d|}||dd}q|}d}nJt|tr|d}d|}n(t|t j j r| }|dk r|d}|dkrdt t }|j}|j|t|||j|j|j}||fS)Nrer[rdrrrsFrom MAILER-DAEMON )rhrtrZrur|find_mboxMMDFMessageget_fromrWr9r&r get_unixfromrasctimegmtimerrrqrpr _mangle_from_)rr&rnewlineZauthorrrrrr r &s0         z_mboxMMDF._install_messageN)F)F)F) rrrr r3r<r;r6r rrrr rs   rc@s.eZdZdZdZd ddZddZddZdS) rTNcCst|_t||||dSr)r rrr!rrrr r!Lsz mbox.__init__cCs|tdSrrqrpr rrr rQszmbox._post_message_hookcCsgg}}d}|jd|j}|j}|drzt|t|krj|r`||ttn ||||d}q|s|r||ttq||qq|tkrd}qd}qtt t |||_ t|j |_ |j|_ dS)NFrreT)rrnrr{r|rrrpdict enumerateziprrr)rstartsstopsZlast_was_emptyline_posrrrr r Us.         zmbox._generate_toc)NT)rrrr rrr!rr rrrr rCs  c@s.eZdZd ddZddZddZd d ZdS) rNTcCst|_t||||dSr)r rrr!rrrr r!zsz MMDF.__init__cCs|dtdSNr"r rrr rszMMDF._pre_message_hookcCs|tdtdSr)r"r rrr rszMMDF._post_message_hookcCsgg}}|jdd}|}|j}|j}|dtr|||}|j}|j}|dtkr||ttqqJ|sJ||qqJq|sqqtt t |||_ t|j |_ |jdd|j|_ dS)Nrr*r)rrnr{rr|rprrr#r$r%rrr)rr&r'next_posr(rrrr r s.          zMMDF._generate_toc)NT)rrrr!rrr rrrr rws c@seZdZd/ddZddZddZd d Zd d Zd dZddZ ddZ ddZ ddZ ddZ ddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.ZdS)0rNTcCstt||||tj|jsj|r`t|jdtttj |jdtj tj Btj Bdn t |jd|_dS)Nr .mh_sequencesiF)rr!rrrrrrVrrrO_EXCLrrrrrrr r!s z MH.__init__cCs|}t|dkrd}n t|d}tj|jt|}t|}d}z|j rVt |zfz| ||Wn:tk r|j rt |t |d}t|YnXt|tr|||W5|j rt |XW5|st |X|S)NrrFT)r@rmaxrrrrrtrrrrrrrr*rhr _dump_sequences)rr&r@Znew_keyrrclosedrrr r's6     zMH.addc Csxtj|jt|}zt|d}Wn>tk r`}z |jtjkrNt d|nW5d}~XYnX| t |dSNrr) rrrrrtrrrrr,rVr*)rr)rrrrrr r*s z MH.removec Cstj|jt|}zt|d}Wn>tk r`}z |jtjkrNt d|nW5d}~XYnXzd|j rrt |z@tt|tjtjB|||t|tr|||W5|j rt |XW5t |XdSr1)rrrrrtrrrrr,rrrrrVrO_TRUNCrrhr r/)rr)r&rrrrrr r/s$   zMH.__setitem__c Csz@|jr$ttj|jt|d}nttj|jt|d}Wn>tk r~}z |jtj krlt d|nW5d}~XYnX|2|jrt |z t |}W5|jrt |XW5QRX|D]\}}||kr||q|S)Nrrr)rrrrrrrtrrrr,rrr get_sequencesrH add_sequence)rr)rrrrkey_listrrr r3s&   zMH.get_messagec Csz@|jr$ttj|jt|d}nttj|jt|d}Wn>tk r~}z |jtj krlt d|nW5d}~XYnX|F|jrt |z | tdWW5QRS|jrt |XW5QRXdS)Nrrrr[)rrrrrrrtrrrr,rrr^rorprr)rrrrr r;s  z MH.get_bytesc Csfzttj|jt|d}Wn>tk r\}z |jtjkrJt d|nW5d}~XYnXt |S)Nrr) rrrrrrtrrrr,rr6rrr r6)s z MH.get_filecCsttddt|jDS)Ncss|]}|rt|VqdSr)isdigitr).0rrrr 6szMH.iterkeys..)iterrrrrr=rrr r>4sz MH.iterkeyscCstjtj|jt|Sr)rrrrrrtr(rrr rI9szMH.__contains__cCstt|Sr)rr?r>r=rrr rJ=sz MH.__len__cCs2|js.ttj|jdd|_t|jd|_dS)Nr,rT)rrrrrrrrr=rrr rTAs zMH.lockcCs(|jr$t|jt|j|`d|_dSr)rrrrr=rrr rUHs   z MH.unlockcCsdSrrr=rrr rSPszMH.flushcCs|jr|dSr)rrUr=rrr rVTszMH.closecCs<g}t|jD]&}tjtj|j|r||q|Sr)rrrrrrrrrrr rYs  zMH.list_folderscCsttj|j||jddS)NFrrrrrrrrrrr rasz MH.get_foldercCsttj|j||jdS)Nrr;rrrr rfsz MH.add_foldercCs`tj|j|}t|}|dgkr:ttj|dn|gkrDntd|jt|dS)Nr,zFolder not empty: %s)rrrrrr*rr)rrrentriesrrr rks  zMH.remove_folderc si}ttj|jdddd}t||D]}z|d\}}t}|D]H}|rn| t |qRdd|dD\}} | t || d qRfd d t |D||<t||d kr||=Wq0tk rtd |Yq0Xq0W5QRX|S)Nr,rASCIIencodingrcss|]}t|VqdSr)r)r8xrrr r9sz#MH.get_sequences..-rcsg|]}|kr|qSrr)r8r)Zall_keysrr sz$MH.get_sequences..rz"Invalid sequence specification: %s)rrrrrsetr@rr7r'rrRrangerrrYrrstrip) rresultsrrrcontentsr@specrrrrCr r3ws(   zMH.get_sequencescCsttj|jdddd}ztt|jtjtj B| D]\}}t |dkrVq@| |dd}d}t t|D]R}|d|kr|sd }| d n*|rd}| d ||fn| d ||}qx|r| t|d q@| d q@W5t|XdS)Nr,zr+r>r?rrFrTrBz%s %sz %s )rrrrrrrVrrr2rHrrqrrErt)r sequencesrrr@prevZ completingr)rrr set_sequencess.   zMH.set_sequencesc Cs>|}d}g}|D]}|d|kr|||dfz4ttj|jt|tj|jt|dWnHt t fk rt tj|jt|tj|jt|dYnXt tj|jt||d7}q|d|_ t|dkrdS|D]0\}}|D]"\}}||kr ||||<q q||dS)Nrr)r3r>rrrrrrrtrrrunlinkrrrHindexrN) rrLrMZchangesr)rr5oldrrrr packs0        zMH.packcCst|}|}|D]0\}}||kr4||q||kr|||=q|D]}||krN|g||<qN||dSr)r3rHrrPrN)rr&r)Zpending_sequencesZ all_sequencesrr5sequencerrr r/s  zMH._dump_sequences)NT)rrrr!r'r*r/r3r;r6r>rIrJrTrUrSrVrrrrr3rNrRr/rrrr rs, "  c@seZdZedddddddhZd$d d Zd d ZddZddZddZ ddZ ddZ ddZ ddZ ddZddZd d!Zd"d#ZdS)%runseendeletedZfiledanswered forwardedZeditedresentNTcCst||||i|_dSr)rr!_labelsrrrr r!szBabyl.__init__cCs(t||}t|tr$||j|<|Sr)rr'rhr get_labelsrY)rr&r)rrr r's  z Babyl.addcCs"t||||jkr|j|=dSr)rr*rYr(rrr r*s  z Babyl.removecCs*t|||t|tr&||j|<dSr)rr/rhr rZrYr.rrr r/s zBabyl.__setitem__c Cs||\}}|j||jt}|j}|dtks\|sHq\||tdq,t}|j}|tks|s|q||tdqd||j }|j |}|td}t | |} | | ||jkr| |j|| SN *** EOOH ***r[)rrrnr{rirjrprqrorr^r rz set_visiblerY set_labels) rr)rroriginal_headersrZvisible_headersnZbodyrrrr r3s*        zBabyl.get_messagec Cs||\}}|j||jt}|j}|dtks\|sHq\||tdq,|j}|tksv|s\qvq\| }||j }|j |}|td}||Sr[) rrrnr{rirjrprqrorzrr^) rr)rrr_rZheadersr`rrrr r;s        zBabyl.get_bytescCst||dtSr)rirjr;rorpr(rrr r6%szBabyl.get_filecCs<|t}|jD]}||q||jt|Sr)rrErYrFrRdifference_update_special_labelsr?)rlabelsZ label_listrrr rZ)s   zBabyl.get_labelscCs:gg}}|jdd}g}|}|j}|j}|dtkrt|t|krd||tt||dd|jdddD}||q|dks|dtkrt|t|kr||ttq|s||ttqqtt t |||_ tt ||_ t|j |_ |jdd|j|_dS) Nrs cSsg|]}|r|qSr)stripr8labelrrr rD@sz'Babyl._generate_toc..r,r)rrnr{rrprrrr#r$r%rrYrr)rr&r'r+Z label_listsr(rrcrrr r 2s4        zBabyl._generate_toccCsVdt}|dt7}|}dd|D}|dd|t7}|d7}||dS)NsBABYL OPTIONS:s Version: 5css|]}|VqdSr)rWrerrr r9Usz*Babyl._pre_mailbox_hook..sLabels:rgrh)rprZrrq)rrZbabylrcrrr rPs zBabyl._pre_mailbox_hookcCs|dtdS)N r"r rrr rZszBabyl._pre_message_hookcCs|tddS)Nrhr"r rrr r^szBabyl._post_message_hookcCsx|j}t|trg}g}|D]$}||jkr>||q$||q$|jd|D]}|jd|qZ|jd|D]}|jd|dq|jt n|jdt t|t j j rt }t j|dd}|||d|}|j|d t |d ks,|sq,q|jd t t|trt } t j| dd} | || }|j|d t |d ks|snqqnn>|d|}|j|d t |d ks|sqq|d } | sqf|j| d t qnTt|ttt jfrt|t jrJtd td |}t|tr`||}|dd} | ddkr|j|d| d t |jd t |j|d| d t |j|| dd t n(|jd t t |j|d t nXt |drVt |dr:tdtd |j!}|} d}|}|"drl|ddd }n|"dr|ddd }|j|d t |d ks|sF|rd}|jd t || nqڐqF|}|sqf|"dr |ddt }n:|"dr(|ddt }n|"d rD|ddt }|j|qnt#dt$||j}||fS)N1s, s,, rgs1,,Frr[r\rr\r]s rrdr{r_r`Trarbrcrg)%rrrhr rZrbrrqrWrpr9r&rrirjrkrlrmrnr{ro get_visibler^rurtrvrwrxryrzrZrrOr_rsr}r~)rr&rZspecial_labelsrcrfZ orig_bufferZorig_generatorrZ vis_bufferZ vis_generatorr_Z body_startZ original_posZ first_passrrrr r bs                         zBabyl._install_message)NT)rrr frozensetrbr!r'r*r/r3r;r6rZr rrrr rrrr rs$    c@s&eZdZdddZddZddZdS) rNcCst|tjjr4|t|t|tr||nt|trP|t |n~t|t rl|t |nbt|t j r|t|nDt|dr|t|n(|dkrtjj|ntdt|dS)Nr^rg)rhr9r&r_become_messagecopydeepcopy _explain_torur:rtZmessage_from_stringri TextIOWrapperZmessage_from_filerOZmessage_from_binary_filer!r}r~r%rrr r!s      zMessage.__init__cCs4t|dg}|jD]}||kr|j||j|<qdS)N_type_specific_attributes)getattr__dict__)rr&Z type_specificrrrr rns  zMessage._become_messagecCst|trdStddS)Nz Cannot convert to specified type)rhrr}r%rrr rqs zMessage._explain_to)N)rrrr!rnrqrrrr rs c@sxeZdZdddgZdddZddZd d Zd d Zd dZddZ ddZ ddZ ddZ ddZ ddZddZdS)r _subdir_info_dateNcCs&d|_d|_t|_t||dS)Nrr)rvrwrrxrr!r%rrr r!s zMaildirMessage.__init__cCs|jSr)rvr=rrr rszMaildirMessage.get_subdircCs(|dks|dkr||_n td|dS)Nrrz!subdir must be 'new' or 'cur': %s)rvrY)rrrrr rszMaildirMessage.set_subdircCs"|jdr|jddSdSdS)N2,rr)rwr|r=rrr get_flags s zMaildirMessage.get_flagscCsddt||_dS)Nryr)rrrw)rflagsrrr set_flagsszMaildirMessage.set_flagscCs$|dt|t|BdSNrr|rrErzrflagrrr add_flagszMaildirMessage.add_flagcCs,|r(|dt|t|dSr})rzr|rrErrrr remove_flagszMaildirMessage.remove_flagcCs|jSr)rxr=rrr rszMaildirMessage.get_datecCs6zt||_Wn"tk r0td|dYnXdS)Nzcan't convert to float: %s)floatrxrYr})rdaterrr r"szMaildirMessage.set_datecCs|jSr)rwr=rrr r)szMaildirMessage.get_infocCs&t|tr||_ntdt|dS)Nzinfo must be a string: %s)rhrtrwr}r~)rinforrr r-s zMaildirMessage.set_infocCst|tr8||||||nht|trt |}d|kr`| d|dkrv| dd|kr| dd|kr| dd|kr| d| d t |nt|trt |}d|kr|d d|kr|d d|kr|d nt|trt |}d|krD|d d|krX|d d|krl|dd|kr|dnt|trntdt|dS)NSRrOTDFA MAILER-DAEMONrTrepliedflaggedrUrVPrW$Cannot convert to specified type: %s)rhr r|rzrrrrrrErrrrr r4r add_labelrr}r~)rr&r{rrr rq4sP                           zMaildirMessage._explain_to)N)rrrrsr!rrrzr|rrrrrrrqrrrr r s  c@sVeZdZdgZdddZddZdddZd d Zd d Zd dZ ddZ ddZ dS)r_fromNcCsV|ddt|tjjrF|}|dk rF|drF||ddt||dS)NrTzFrom rf)rrhr9r&rrr|r!)rr&rrrr r!es  z_mboxMMDFMessage.__init__cCs|jSr)rr=rrr rnsz_mboxMMDFMessage.get_fromcCs4|dk r*|dkrt}|dt|7}||_dS)NT )rrrr)rrZtime_rrr rrs z_mboxMMDFMessage.set_fromcCs|dd|ddS)NStatusrX-Status)r2r=rrr rzzsz_mboxMMDFMessage.get_flagscCst|}d\}}dD]}||kr||7}||qdD]}||kr8||7}||q8|dt|7}z|d|Wn tk r|d|YnXz|d|Wn tk r|d|YnXdS)N)rr)rr)rrrrrr)rEr*rrreplace_headerr,Z add_header)rr{Z status_flagsZ xstatus_flagsrrrr r|~s&  z_mboxMMDFMessage.set_flagscCs$|dt|t|BdSr}r~rrrr rsz_mboxMMDFMessage.add_flagcCs4d|ksd|kr0|dt|t|dS)Nrrrr~rrrr rsz_mboxMMDFMessage.remove_flagc Cst|trt|}d|kr(|dd|kr:|dd|krL|dd|kr^|dd|krp|d|d =|d =d |d d}z| t t |d Wnttfk rYnXn t|tr||||nt|trZt|}d|kr$|dd|kr8|dd|krL|d|d =|d =nt|trt|}d|kr|dd|kr|dd|kr|d|d =|d =nt|trntdt|dS)Nrrrrrrrrstatuszx-statusrz%a %b %d %H:%M:%S %YrTrrrUrVr)rhr rErzrrrrrrcalendarZtimegmrstrptimerY OverflowErrorrr|rr r4r rrr}r~)rr&r{Z maybe_daterrr rqsb                           z_mboxMMDFMessage._explain_to)N)N) rrrrsr!rrrzr|rrrqrrrr r`s  rc@s eZdZdS)r Nrrrrrrr r sc@sDeZdZdgZdddZddZddZd d Zd d Zd dZ dS)r _sequencesNcCsg|_t||dSr)rrr!r%rrr r!szMHMessage.__init__cCs|jddSr)rr=rrr r3szMHMessage.get_sequencescCst||_dSr)r?r)rrLrrr rNszMHMessage.set_sequencescCs6t|tr"||jkr2|j|ntdt|dS)Nzsequence type must be str: %s)rhrtrrr}r~rrSrrr r4s  zMHMessage.add_sequencecCs*z|j|Wntk r$YnXdSr)rr*rYrrrr remove_sequenceszMHMessage.remove_sequencecCsFt|trdt|}d|kr*|dn|d|dd|krP|dd|krb|dnt|trt|}d|kr|dn |d d|kr|dd|kr|d nt|tr|D]}||qn`t|t r$t|}d|kr| dd|krB| d nt|t r2nt d t |dS) NrTrrrrrrROrrrVr)rhr rEr3rrrr r4r rrr}r~)rr&rLrSrrr rqsB                      zMHMessage._explain_to)N) rrrrsr!r3rNr4rrqrrrr r s c@s^eZdZddgZdddZddZdd Zd d Zd d ZddZ ddZ ddZ ddZ dS)r rY_visibleNcCsg|_t|_t||dSr)rYrrr!r%rrr r!"szBabylMessage.__init__cCs|jddSr)rYr=rrr rZ(szBabylMessage.get_labelscCst||_dSr)r?rY)rrcrrr r^,szBabylMessage.set_labelscCs6t|tr"||jkr2|j|ntdt|dS)Nzlabel must be a string: %s)rhrtrYrr}r~rrfrrr r0s  zBabylMessage.add_labelcCs*z|j|Wntk r$YnXdSr)rYr*rYrrrr remove_label8szBabylMessage.remove_labelcCs t|jSrrrr=rrr rl?szBabylMessage.get_visiblecCst||_dSrr)rZvisiblerrr r]CszBabylMessage.set_visiblecCsb|jD](}||kr*|j|||q |j|=q dD]$}||kr8||jkr8|||j|<q8dS)N)ZDateZFromzReply-ToZToZCCZSubject)rr@r)rheaderrrr update_visibleGs zBabylMessage.update_visiblecCsrt|tr~t|}d|kr*|dn|d|dd|ksNd|krX|dd|krj|dd |kr||d nt|trt|}d|kr|d n |d d |kr|d d|kr|dnt|trt|}d|kr|dd|krn|dnTt|t rP| | |D]}| |q s    h8DB4-3z%mqH_c' *