
    çg /                     :    d dl mZ d dlmZ  G d de          ZdS )   )
filesystem)AsyncFileSystemc                       e Zd ZdZdZ	 	 	 	 	 dE fd	Zd Zd Zed             Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d  Z"d! Z#d" Z$d# Z%d$ Z&d% Z'd& Z(d' Z)d( Z*d) Z+d* Z,dFd,Z-dFd-Z.d. Z/d/ Z0d0 Z1d1 Z2d2 Z3d3 Z4d4 Z5d5 Z6d6 Z7d7 Z8d8 Z9d9 Z:d: Z;d; Z<d< Z=d= Z>d> Z?d? Z@d@ ZAdA ZBdB ZCdC ZDdD ZE xZFS )GDirFileSystemzDirectory prefix filesystem

    The DirFileSystem is a filesystem-wrapper. It assumes every path it is dealing with
    is relative to the `path`. After performing the necessary paths operation it
    delegates everything to the wrapped filesystem.
    dirNc                 b    t                      j        di | |t          dd|i|pi }|du|duz  du rt          d          |p|}| j        r|j        st          d          |j        r| j        |j        k    rt          d          |                    |          | _        || _        dS )aS  
        Parameters
        ----------
        path: str
            Path to the directory.
        fs: AbstractFileSystem
            An instantiated filesystem to wrap.
        target_protocol, target_options:
            if fs is none, construct it from these
        fo: str
            Alternate for path; do not provide both
        NprotocolFzProvide path or fo, not bothz(can't use asynchronous with non-async fsz7both dirfs and fs should be in the same sync/async mode )	super__init__r   
ValueErrorasynchronous
async_impl_strip_protocolpathfs)selfr   r   fotarget_protocoltarget_optionsstorage_options	__class__s          X/var/www/html/ai-engine/env/lib/python3.11/site-packages/fsspec/implementations/dirfs.pyr   zDirFileSystem.__init__   s    * 	++?+++:OO_O9M2OOB40E99;<<<zr 	IR] 	IGHHH= 	XT."/AAVWWW&&t,,	    c                 J    t          |t                    rK j        s|S |s j        S  j        j                             j                             |          f          S t          |t                    r  fd|                                D             S  fd|D             S )Nc                 B    i | ]\  }}                     |          |S r
   _join).0_pathvaluer   s      r   
<dictcomp>z'DirFileSystem._join.<locals>.<dictcomp><   s+    NNNDJJu%%uNNNr   c                 :    g | ]}                     |          S r
   r   r   r    r   s     r   
<listcomp>z'DirFileSystem._join.<locals>.<listcomp>=   s%    444e

5!!444r   )	
isinstancestrr   r   sepjoinr   dictitemsr   r   s   ` r   r   zDirFileSystem._join4   s    dC   	M9  !y 7;##TY0D0DT0J0J$KLLLdD!! 	ONNNNNNNN4444t4444r   c                     t          |t                    r܉ j        s|S | j        k    s7 j                             j        j                  r| j        dd          k    rdS  j         j        j        z   } j                             j        j                  r)|                     j        j                  s
|dd          }|                    |          sJ |t          |          d          S  fd|D             S )N    c                 :    g | ]}                     |          S r
   _relpathr$   s     r   r%   z*DirFileSystem._relpath.<locals>.<listcomp>N   s%    777e$$777r   )r&   r'   r   
startswithr   r(   len)r   r   prefixs   `  r   r2   zDirFileSystem._relpath?   s    dC   	'9  ty  	$$TW[11 !6:dim6K6KrY,Fy##DGK00 $9U9U $??6*****F&&7777$7777r   c                     | j         j        S N)r   r(   r   s    r   r(   zDirFileSystem.sepR   s    w{r   c                 6   K    | j         j        |i | d {V S r7   )r   set_session)r   argskwargss      r   r:   zDirFileSystem.set_sessionV   s2      (TW($9&999999999r   c                 ^   K    | j         j        |                     |          fi | d {V S r7   )r   _rm_filer   r   r   r<   s      r   r>   zDirFileSystem._rm_fileY   sA      %TW%djj&6&6AA&AAAAAAAAAr   c                 N     | j         j        |                     |          fi |S r7   )r   rm_filer   r?   s      r   rA   zDirFileSystem.rm_file\   s*    twtzz$//::6:::r   c                 d   K    | j         j        |                     |          g|R i | d {V S r7   )r   _rmr   r   r   r;   r<   s       r   rC   zDirFileSystem._rm_   sH       TW[D!1!1CDCCCFCCCCCCCCCr   c                 T     | j         j        |                     |          g|R i |S r7   )r   rmr   rD   s       r   rF   zDirFileSystem.rmb   s2    twz$**T**<T<<<V<<<r   c                    K    | j         j        |                     |          |                     |          fi | d {V S r7   )r   _cp_filer   r   path1path2r<   s       r   rH   zDirFileSystem._cp_filee   sO      %TW%djj&7&7E9J9JUUfUUUUUUUUUr   c                 v     | j         j        |                     |          |                     |          fi |S r7   )r   cp_filer   rI   s       r   rM   zDirFileSystem.cp_fileh   s8    twtzz%00$**U2C2CNNvNNNr   c                    K    | j         j        |                     |          |                     |          g|R i | d {V S r7   )r   _copyr   r   rJ   rK   r;   r<   s        r   rO   zDirFileSystem._copyk   sz       #TW]JJuJJu
 
 
 
 	
 
 
 
 
 
 
 
 	
r   c                 |     | j         j        |                     |          |                     |          g|R i |S r7   )r   copyr   rP   s        r   rR   zDirFileSystem.copyy   sV    tw|JJuJJu
 
 
 
 	
 
 	
r   c                 d   K    | j         j        |                     |          g|R i | d {V S r7   )r   _piper   rD   s       r   rT   zDirFileSystem._pipe   sH      "TW]4::d#3#3EdEEEfEEEEEEEEEr   c                 T     | j         j        |                     |          g|R i |S r7   )r   piper   rD   s       r   rV   zDirFileSystem.pipe   2    tw|DJJt,,>t>>>v>>>r   c                 d   K    | j         j        |                     |          g|R i | d {V S r7   )r   
_pipe_filer   rD   s       r   rY   zDirFileSystem._pipe_file   sI      'TW'

4(8(8J4JJJ6JJJJJJJJJr   c                 T     | j         j        |                     |          g|R i |S r7   )r   	pipe_filer   rD   s       r   r[   zDirFileSystem.pipe_file   s3     tw D!1!1CDCCCFCCCr   c                 d   K    | j         j        |                     |          g|R i | d {V S r7   )r   	_cat_filer   rD   s       r   r]   zDirFileSystem._cat_file   I      &TW&tzz$'7'7I$III&IIIIIIIIIr   c                 T     | j         j        |                     |          g|R i |S r7   )r   cat_filer   rD   s       r   r`   zDirFileSystem.cat_file   3    tw

4 0 0B4BBB6BBBr   c                     K     j         j                             |          g|R i | d {V }t          |t                    r  fd|                                D             S |S )Nc                 B    i | ]\  }}                     |          |S r
   r1   r   keyr!   r   s      r   r"   z&DirFileSystem._cat.<locals>.<dictcomp>   +    LLL*#uDMM#&&LLLr   )r   _catr   r&   r*   r+   r   r   r;   r<   rets   `    r   rg   zDirFileSystem._cat   s       DGLJJt

 
 
 
 
 
 
 
 
 
 
 c4   	MLLLL		LLLL
r   c                        j         j                             |          g|R i |}t          |t                    r  fd|                                D             S |S )Nc                 B    i | ]\  }}                     |          |S r
   r1   rd   s      r   r"   z%DirFileSystem.cat.<locals>.<dictcomp>   rf   r   )r   catr   r&   r*   r+   rh   s   `    r   rl   zDirFileSystem.cat   s    dgkJJt

 
 
 
 
 c4   	MLLLL		LLLL
r   c                 `   K    | j         j        ||                     |          fi | d {V S r7   )r   	_put_filer   r   lpathrpathr<   s       r   rn   zDirFileSystem._put_file   sC      &TW&udjj.?.?JJ6JJJJJJJJJr   c                 P     | j         j        ||                     |          fi |S r7   )r   put_filer   ro   s       r   rs   zDirFileSystem.put_file   s-    twtzz%'8'8CCFCCCr   c                 f   K    | j         j        ||                     |          g|R i | d {V S r7   )r   _putr   r   rp   rq   r;   r<   s        r   ru   zDirFileSystem._put   sn       "TW\JJu
 
 
 
 	
 
 
 
 
 
 
 
 	
r   c                 V     | j         j        ||                     |          g|R i |S r7   )r   putr   rv   s        r   rx   zDirFileSystem.put   sJ    tw{JJu
 
 
 
 	
 
 	
r   c                 `   K    | j         j        |                     |          |fi | d {V S r7   )r   	_get_filer   r   rq   rp   r<   s       r   rz   zDirFileSystem._get_file   sC      &TW&tzz%'8'8%JJ6JJJJJJJJJr   c                 P     | j         j        |                     |          |fi |S r7   )r   get_filer   r{   s       r   r}   zDirFileSystem.get_file   s-    tw

5 1 15CCFCCCr   c                 d   K    | j         j        |                     |          g|R i | d {V S r7   )r   _getr   r   rq   r;   r<   s       r   r   zDirFileSystem._get   sH      !TW\$**U"3"3EdEEEfEEEEEEEEEr   c                 T     | j         j        |                     |          g|R i |S r7   )r   getr   r   s       r   r   zDirFileSystem.get   s2    tw{4::e,,>t>>>v>>>r   c                 l   K   | j                             |                     |                     d {V S r7   )r   _isfiler   r,   s     r   r   zDirFileSystem._isfile   8      W__TZZ%5%5666666666r   c                 \    | j                             |                     |                    S r7   )r   isfiler   r,   s     r   r   zDirFileSystem.isfile   "    w~~djj..///r   c                 l   K   | j                             |                     |                     d {V S r7   )r   _isdirr   r,   s     r   r   zDirFileSystem._isdir   s8      W^^DJJt$4$4555555555r   c                 \    | j                             |                     |                    S r7   )r   isdirr   r,   s     r   r   zDirFileSystem.isdir   "    w}}TZZ--...r   c                 l   K   | j                             |                     |                     d {V S r7   )r   _sizer   r,   s     r   r   zDirFileSystem._size   s8      W]]4::d#3#3444444444r   c                 \    | j                             |                     |                    S r7   )r   sizer   r,   s     r   r   zDirFileSystem.size   s"    w||DJJt,,---r   c                 l   K   | j                             |                     |                     d {V S r7   )r   _existsr   r,   s     r   r   zDirFileSystem._exists   r   r   c                 \    | j                             |                     |                    S r7   )r   existsr   r,   s     r   r   zDirFileSystem.exists   r   r   c                 ^   K    | j         j        |                     |          fi | d {V S r7   )r   _infor   r?   s      r   r   zDirFileSystem._info   s@      "TW]4::d#3#3>>v>>>>>>>>>r   c                 N     | j         j        |                     |          fi |S r7   )r   infor   r?   s      r   r   zDirFileSystem.info   s*    tw|DJJt,,77777r   Tc                 T  K    | j         j        |                     |          fd|i| d {V                                 }|rPg }|D ]I}|                                }|                     |d                   |d<   |                    |           J|S |                     |          S Ndetailname)r   _lsr   rR   r2   appendr   r   r   r<   ri   outentrys          r   r   zDirFileSystem._ls   s       TW[D!1!1KK&KFKKKKKKKKQQSS 	C " "

 $eFm < <f

5!!!!J}}S!!!r   c                 D    | j         j        |                     |          fd|i|                                }|rPg }|D ]I}|                                }|                     |d                   |d<   |                    |           J|S |                     |          S r   )r   lsr   rR   r2   r   r   s          r   r   zDirFileSystem.ls   s    dgjD))CC&CFCCHHJJ 	C " "

 $eFm < <f

5!!!!J}}S!!!r   c                   K    | j         j        |                     |          g|R i |2 3 d {V \  }}}|                     |          ||fW V  '6 d S r7   )r   _walkr   r2   r   r   r;   r<   rootdirsfiless          r   r   zDirFileSystem._walk	  s      '4tw}TZZ5E5E'W'W'W'WPV'W'W 	3 	3 	3 	3 	3 	3 	3#$e--%%tU222222 (X'W'Ws   Ac              /      K    | j         j        |                     |          g|R i |D ] \  }}}|                     |          ||fV  !d S r7   )r   walkr   r2   r   s          r   r   zDirFileSystem.walk  sr      !-djj.>.>!P!P!P!P!P!P 	3 	3D$--%%tU22222	3 	3r   c                     K   |                     dd          }  j        j                             |          fi | d {V }|r  fd|                                D             S                      |          S )Nr   Fc                 B    i | ]\  }}                     |          |S r
   r1   r   r   r   r   s      r   r"   z'DirFileSystem._glob.<locals>.<dictcomp>  +    LLL*$DMM$''LLLr   )r   r   _globr   r+   r2   r   r   r<   r   ri   s   `    r   r   zDirFileSystem._glob  s      He,,!DGM$**T"2"2==f======== 	MLLLL		LLLL}}S!!!r   c                      |                     dd          }  j        j                             |          fi |}|r  fd|                                D             S                      |          S )Nr   Fc                 B    i | ]\  }}                     |          |S r
   r1   r   s      r   r"   z&DirFileSystem.glob.<locals>.<dictcomp>  r   r   )r   r   globr   r+   r2   r   s   `    r   r   zDirFileSystem.glob  sz    He,,dgl4::d++66v66 	MLLLL		LLLL}}S!!!r   c                     K   |                     dd          }  j        j                             |          g|R i | d {V }|r|S  fd|                                D             S )NtotalTc                 B    i | ]\  }}                     |          |S r
   r1   r   r   r   r   s      r   r"   z%DirFileSystem._du.<locals>.<dictcomp>%  +    HHHjdDd##THHHr   )r   r   _dur   r+   r   r   r;   r<   r   ri   s   `     r   r   zDirFileSystem._du  s      

7D))DGK

4 0 0B4BBB6BBBBBBBB 	JHHHHCIIKKHHHHr   c                      |                     dd          }  j        j                             |          g|R i |}|r|S  fd|                                D             S )Nr   Tc                 B    i | ]\  }}                     |          |S r
   r1   r   s      r   r"   z$DirFileSystem.du.<locals>.<dictcomp>-  r   r   )r   r   dur   r+   r   s   `     r   r   zDirFileSystem.du'  st    

7D))dgjD));D;;;F;; 	JHHHHCIIKKHHHHr   c                     K   |                     dd          }  j        j                             |          g|R i | d {V }|r  fd|                                D             S                      |          S )Nr   Fc                 B    i | ]\  }}                     |          |S r
   r1   r   s      r   r"   z'DirFileSystem._find.<locals>.<dictcomp>3  r   r   )r   r   _findr   r+   r2   r   r   r;   r<   r   ri   s   `     r   r   zDirFileSystem._find/  s      He,,!DGM$**T"2"2DTDDDVDDDDDDDD 	MLLLL		LLLL}}S!!!r   c                      |                     dd          }  j        j                             |          g|R i |}|r  fd|                                D             S                      |          S )Nr   Fc                 B    i | ]\  }}                     |          |S r
   r1   r   s      r   r"   z&DirFileSystem.find.<locals>.<dictcomp>:  r   r   )r   r   findr   r+   r2   r   s   `     r   r   zDirFileSystem.find6  s    He,,dgl4::d++=d===f== 	MLLLL		LLLL}}S!!!r   c                    K   |                       | j        j        |                     |          g|R i | d {V           S r7   )r2   r   _expand_pathr   rD   s       r   r   zDirFileSystem._expand_path=  s\      }}&$'&tzz$'7'7I$III&IIIIIIII
 
 	
r   c                 z    |                       | j        j        |                     |          g|R i |          S r7   )r2   r   expand_pathr   rD   s       r   r   zDirFileSystem.expand_pathB  s@    }}0TW0D1A1ASDSSSFSSTTTr   c                 d   K    | j         j        |                     |          g|R i | d {V S r7   )r   _mkdirr   rD   s       r   r   zDirFileSystem._mkdirE  sH      #TW^DJJt$4$4FtFFFvFFFFFFFFFr   c                 T     | j         j        |                     |          g|R i |S r7   )r   mkdirr   rD   s       r   r   zDirFileSystem.mkdirH  s2    tw}TZZ--???????r   c                 d   K    | j         j        |                     |          g|R i | d {V S r7   )r   	_makedirsr   rD   s       r   r   zDirFileSystem._makedirsK  r^   r   c                 T     | j         j        |                     |          g|R i |S r7   )r   makedirsr   rD   s       r   r   zDirFileSystem.makedirsN  ra   r   c                 \    | j                             |                     |                    S r7   )r   rmdirr   r,   s     r   r   zDirFileSystem.rmdirQ  r   r   c                 v     | j         j        |                     |          |                     |          fi |S r7   )r   mvr   rI   s       r   r   zDirFileSystem.mvT  sG    twzJJuJJu
 
 
 
 	
r   c                 N     | j         j        |                     |          fi |S r7   )r   touchr   r?   s      r   r   zDirFileSystem.touch[  s*    tw}TZZ--88888r   c                 \    | j                             |                     |                    S r7   )r   createdr   r,   s     r   r   zDirFileSystem.created^  s"    wtzz$//000r   c                 \    | j                             |                     |                    S r7   )r   modifiedr   r,   s     r   r   zDirFileSystem.modifieda  s$    w

4 0 0111r   c                 T     | j         j        |                     |          g|R i |S r7   )r   signr   rD   s       r   r   zDirFileSystem.signd  rW   r   c                 @    | j         j         d| j         d| j         dS )Nz(path='z', fs=))r   __qualname__r   r   r8   s    r   __repr__zDirFileSystem.__repr__g  s*    .-QQdiQQtwQQQQr   c                 T     | j         j        |                     |          g|R i |S r7   )r   openr   rD   s       r   r   zDirFileSystem.openj  sG     tw|JJt

 
 
 
 
 	
r   c                 d   K    | j         j        |                     |          g|R i | d {V S r7   )r   
open_asyncr   rD   s       r   r   zDirFileSystem.open_asyncv  sj       (TW'JJt

 
 
 
 
 
 
 
 
 
 
 	
r   )NNNNN)T)G__name__
__module__r   __doc__r	   r   r   r2   propertyr(   r:   r>   rA   rC   rF   rH   rM   rO   rR   rT   rV   rY   r[   r]   r`   rg   rl   rn   rs   ru   rx   rz   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __classcell__)r   s   @r   r   r      si         H # # # # # #J	5 	5 	58 8 8&   X: : :B B B; ; ;D D D= = =V V VO O O
 
 

 
 
F F F? ? ?K K KD D DJ J JC C C
 
 

 
 
K K KD D D
 
 

 
 
K K KD D DF F F? ? ?7 7 70 0 06 6 6/ / /5 5 5. . .7 7 70 0 0? ? ?8 8 8
" 
" 
" 
"
" 
" 
" 
"3 3 33 3 3" " "" " "I I II I I" " "" " "
 
 

U U UG G G@ @ @J J JC C C/ / /
 
 
9 9 91 1 12 2 2? ? ?R R R

 

 



 

 

 

 

 

 

r   r   N)r/   r   asynr   r   r
   r   r   <module>r      sg          " " " " " "{
 {
 {
 {
 {
O {
 {
 {
 {
 {
r   