ϪfwddlZddlmZGddejZGddejZGddej ZGd d ej Zy) N)pbcjeZdZdZdZdZdZeZdZeZ dZ e Z dZ e Z dZeZd ZeZd ZeZd Zy ) Maildircj||_||_tjj |||_yN)virtualDirectory rootDirectoryospathjoin directory)selfr r s 1/usr/lib/python3/dist-packages/twisted/mail/pb.py__init__zMaildir.__init__ s( )*mY?cd|vrtd|zttjj |j d|5}|j cdddS#1swYyxYw)N/z&can only open files in '%s' directory'new)OSErroropenr r r r read)rfoldernamefps rgetFolderMessagezMaildir.getFolderMessagesW $;BVKL L "'',,t~~ud; < 779   s A!!A*c d|vrtd|ztjtjj |j ||tjj |j d||y)Nrz(can only delete files in '%s' directory'z.Trash)rr renamer r r r )rrrs rdeleteFolderMessagezMaildir.deleteFolderMessagesZ $;DvMN N GGLL 6 GGLL++Xvt D rc&|jd|SNrrrrs rdeleteNewMessagezMaildir.deleteNewMessage''t44rc&|jd|SNcurr!r"s rdeleteCurMessagezMaildir.deleteCurMessage#r$rc|tjtjj|jdSr r listdirr r r rs rgetNewMessageszMaildir.getNewMessages($zz"'',,t~~u=>>rc|tjtjj|jdSr&r*r,s rgetCurMessageszMaildir.getCurMessages-r.rc&|jd|Sr rr"s r getNewMessagezMaildir.getNewMessage2$$UD11rc&|jd|Sr&r2r"s r getCurMessagezMaildir.getCurMessage7r4rc|ddk(r td|jdd}|jdk(rd|z}n|jdz|z}|j |s tdt ||j S)Nr.z&subfolder name cannot begin with a '.'r:znot a subfolder)rreplacevirtualDirectoyr _isSubFolderrr r"s r getSubFolderzMaildir.getSubFolder<s 7c>BC C||C%   3 &:D((3.5D  &+, ,tT//00rc(tjjtjj|j| xsItjj tjj|j|d S)N maildirfolder)r r isdirr r isfiler"s rr<zMaildir._isSubFolderJse77== GGLL++T 2  Y T-?-? WX X YrN)__name__ __module__ __qualname__rrrr#remote_deleteNewMessager(remote_deleteCurMessager-remote_getNewMessagesr0remote_getCurMessagesr3remote_getNewMessager6remote_getCurMessager=remote_getSubFolderr<rrrr ss@   5/5/?+?+2)2) 1'Yrrc&eZdZdZdZeZdZeZy)MaildirCollectionc||_yr)root)rrPs rrzMaildirCollection.__init__Qs  rcHtj|jSr)r r+getRootr,s r getSubFolderszMaildirCollection.getSubFoldersTszz$,,.))rcd|vs|ddk(r tdtdtjj |j |S)Nrrr8z invalid name)rrr r r rRr"s rr=zMaildirCollection.getSubFolderYs@ $;$q'S..) )sBGGLL>??rN)rBrCrDrrSremote_getSubFoldersr=rKrLrrrNrNPs"*)@ 'rrNceZdZdZdZy) MaildirBrokercr|j}||j|dy|j||y)Nzpermission denied)_getCollection sendError sendAnswer)r requestIDrdomainpassword collections rproto_getCollectionz!MaildirBroker.proto_getCollectionbs3((*   NN9&9 : OOIz 2rc||jvry|j|}||jvr-|j||k(rt|j|Syyr)domainsdbmrN userDirectory)rrr]r^s r getCollectionzMaildirBroker.getCollectionisY  % f% 6:: &**T"2h">$V%9%9$%?@ @#? rN)rBrCrDr`rerLrrrWrWas 3ArrWceZdZdZy) MaildirClientcp|j}||f|j|<|jd||||y)Nre) newRequestIDwaitingForAnswerssendCall)rrr]r^callbackerrbackr\s rrezMaildirClient.getCollectionrs9%%' ,4g,=y) oy$IrN)rBrCrDrerLrrrgrgqsJrrg) r twisted.spreadr ReferenceablerrNBrokerrWrgrLrrrqsZ  CYbCYL'(('" ABII A JBIIJr