
    hw                         S SK r S SKJr   " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r " S	 S
\R                  5      rg)    N)pbc                   r    \ rS rSrS rS rS rS r\rS r	\	r
S r\rS r\rS	 r\rS
 r\rS r\rS rSrg)Maildir
   c                 d    Xl         X l        [        R                  R	                  X!5      U l        g N)virtualDirectoryrootDirectoryospathjoin	directory)selfr   r
   s      V/root/1688_scrapy/alibaba-scraper/venv/lib/python3.13/site-packages/twisted/mail/pb.py__init__Maildir.__init__   s"     )*m?    c                     SU;   a  [        SU-  5      e[        [        R                  R	                  U R
                  SU5      5       nUR                  5       sS S S 5        $ ! , (       d  f       g = f)N/z&can only open files in '%s' directory'new)OSErroropenr   r   r   r   read)r   foldernamefps       r   getFolderMessageMaildir.getFolderMessage   sN    $;BVKLL"'',,t~~ud;<779 =<<s   	A##
A1c           	          SU;   a  [        SU-  5      e[        R                  " [        R                  R	                  U R
                  X5      [        R                  R	                  U R                  SX5      5        g )Nr   z(can only delete files in '%s' directory'z.Trash)r   r   renamer   r   r   r
   )r   r   r   s      r   deleteFolderMessageMaildir.deleteFolderMessage   sV    $;DvMNN
		GGLL6GGLL++XvD	
r   c                 &    U R                  SU5      $ Nr   r!   r   r   s     r   deleteNewMessageMaildir.deleteNewMessage       ''t44r   c                 &    U R                  SU5      $ Ncurr%   r&   s     r   deleteCurMessageMaildir.deleteCurMessage#   r)   r   c                 ~    [         R                  " [         R                  R                  U R                  S5      5      $ r$   r   listdirr   r   r   r   s    r   getNewMessagesMaildir.getNewMessages(   $    zz"'',,t~~u=>>r   c                 ~    [         R                  " [         R                  R                  U R                  S5      5      $ r+   r0   r2   s    r   getCurMessagesMaildir.getCurMessages-   r5   r   c                 &    U R                  SU5      $ r$   r   r&   s     r   getNewMessageMaildir.getNewMessage2       $$UD11r   c                 &    U R                  SU5      $ r+   r:   r&   s     r   getCurMessageMaildir.getCurMessage7   r=   r   c                 
   US   S:X  a  [        S5      eUR                  SS5      nU R                  S:X  a  SU-   nOU R                  S-   U-   nU R	                  U5      (       d  [        S5      e[        XR                  5      $ )Nr   .z&subfolder name cannot begin with a '.'r   :znot a subfolder)r   replacevirtualDirectoyr	   _isSubFolderr   r
   r&   s     r   getSubFolderMaildir.getSubFolder<   s    7c>BCC||C%3&:D((3.5D  &&+,,t//00r   c                 B   [         R                  R                  [         R                  R                  U R                  U5      5      (       + =(       dM    [         R                  R                  [         R                  R                  U R                  US5      5      (       + $ )Nmaildirfolder)r   r   isdirr   r
   isfiler&   s     r   rF   Maildir._isSubFolderJ   se    77==GGLL++T2
 
 YT-?-? WXX	Yr   )r   r
   r	   N)__name__
__module____qualname____firstlineno__r   r   r!   r'   remote_deleteNewMessager-   remote_deleteCurMessager3   remote_getNewMessagesr7   remote_getCurMessagesr;   remote_getNewMessager?   remote_getCurMessagerG   remote_getSubFolderrF   __static_attributes__ r   r   r   r   
   ss    @

5 /5 /? +? +2 )2 )
1 'Yr   r   c                   .    \ rS rSrS rS r\rS r\rSr	g)MaildirCollectionP   c                     Xl         g r   root)r   r`   s     r   r   MaildirCollection.__init__Q   s    	r   c                 J    [         R                  " U R                  5       5      $ r   )r   r1   getRootr2   s    r   getSubFoldersMaildirCollection.getSubFoldersT   s    zz$,,.))r   c                     SU;   d	  US   S:X  a  [        S5      e[        S[        R                  R	                  U R                  5       U5      5      $ )Nr   r   rB   zinvalid name)r   r   r   r   r   rc   r&   s     r   rG   MaildirCollection.getSubFolderY   s@    $;$q'S..))sBGGLL>??r   r_   N)
rN   rO   rP   rQ   r   rd   remote_getSubFoldersrG   rX   rY   rZ   r   r   r\   r\   P   s"    * )@
 'r   r\   c                        \ rS rSrS rS rSrg)MaildirBrokera   c                 r    U R                  5       nUc  U R                  US5        g U R                  X5        g )Nzpermission denied)_getCollection	sendError
sendAnswer)r   	requestIDr   domainpassword
collections         r   proto_getCollection!MaildirBroker.proto_getCollectionb   s1    ((*
NN9&9:OOI2r   c                     X R                   ;  a  g U R                   U   nXR                  ;   a.  UR                  U   U:X  a  [        UR                  U5      5      $ g g r   )domainsdbmr\   userDirectory)r   r   rq   rr   s       r   getCollectionMaildirBroker.getCollectioni   sU    %f%::&**T"2h">$V%9%9$%?@@ #?r   rZ   N)rN   rO   rP   rQ   rt   rz   rY   rZ   r   r   rj   rj   a   s    3Ar   rj   c                       \ rS rSrS rSrg)MaildirClientq   c                 j    U R                  5       nXE4U R                  U'   U R                  SXaX#5        g )Nrz   )newRequestIDwaitingForAnswerssendCall)r   r   rq   rr   callbackerrbackrp   s          r   rz   MaildirClient.getCollectionr   s3    %%'	,4,=y)oyIr   rZ   N)rN   rO   rP   rQ   rz   rY   rZ   r   r   r}   r}   q   s    Jr   r}   )	r   twisted.spreadr   Referenceabler   r\   Brokerrj   r}   rZ   r   r   <module>r      sZ   
 
 CYb CYL'(( '"ABII A JBII Jr   