
    Tri/                     H    d dl mZ d dlmZ ddlmZ  G d dee          ZdS )   )
filesystem)AsyncFileSystem   )ChainedFileSystemc                       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                 .    t                      j        di | |t          dd|i|pi }|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protocolz(can't use asynchronous with non-async fsz7both dirfs and fs should be in the same sync/async mode )	super__init__r   asynchronous
async_impl
ValueError_strip_protocolpathfs)selfr   r   fotarget_protocoltarget_optionsstorage_options	__class__s          t/var/www/html/bestrading.cuttalo.com/models/btc_v9/venv/lib/python3.11/site-packages/fsspec/implementations/dirfs.pyr   zDirFileSystem.__init__   s    * 	++?+++:OO_O9M2OOB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._join3   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 )Nr    c                 :    g | ]}                     |          S r   _relpathr&   s     r   r'   z*DirFileSystem._relpath.<locals>.<listcomp>M   s%    777e$$777r   )r(   r)   r   
startswithr   r*   len)r   r   prefixs   `  r   r3   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.sepQ   s    w{r   c                 6   K    | j         j        |i | d {V S r8   )r   set_session)r   argskwargss      r   r;   zDirFileSystem.set_sessionU   s2      (TW($9&999999999r   c                 ^   K    | j         j        |                     |          fi | d {V S r8   )r   _rm_filer    r   r   r=   s      r   r?   zDirFileSystem._rm_fileX   sA      %TW%djj&6&6AA&AAAAAAAAAr   c                 N     | j         j        |                     |          fi |S r8   )r   rm_filer    r@   s      r   rB   zDirFileSystem.rm_file[   s*    twtzz$//::6:::r   c                 d   K    | j         j        |                     |          g|R i | d {V S r8   )r   _rmr    r   r   r<   r=   s       r   rD   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 r8   )r   rmr    rE   s       r   rG   zDirFileSystem.rma   s2    twz$**T**<T<<<V<<<r   c                    K    | j         j        |                     |          |                     |          fi | d {V S r8   )r   _cp_filer    r   path1path2r=   s       r   rI   zDirFileSystem._cp_filed   sO      %TW%djj&7&7E9J9JUUfUUUUUUUUUr   c                 v     | j         j        |                     |          |                     |          fi |S r8   )r   cp_filer    rJ   s       r   rN   zDirFileSystem.cp_fileg   s8    twtzz%00$**U2C2CNNvNNNr   c                    K    | j         j        |                     |          |                     |          g|R i | d {V S r8   )r   _copyr    r   rK   rL   r<   r=   s        r   rP   zDirFileSystem._copyj   sz       #TW]JJuJJu
 
 
 
 	
 
 
 
 
 
 
 
 	
r   c                 |     | j         j        |                     |          |                     |          g|R i |S r8   )r   copyr    rQ   s        r   rS   zDirFileSystem.copyx   sV    tw|JJuJJu
 
 
 
 	
 
 	
r   c                 d   K    | j         j        |                     |          g|R i | d {V S r8   )r   _piper    rE   s       r   rU   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 r8   )r   piper    rE   s       r   rW   zDirFileSystem.pipe   2    tw|DJJt,,>t>>>v>>>r   c                 d   K    | j         j        |                     |          g|R i | d {V S r8   )r   
_pipe_filer    rE   s       r   rZ   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 r8   )r   	pipe_filer    rE   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 r8   )r   	_cat_filer    rE   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 r8   )r   cat_filer    rE   s       r   ra   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   r2   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   rh   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   r2   re   s      r   r$   z%DirFileSystem.cat.<locals>.<dictcomp>   rg   r   )r   catr    r(   r,   r-   ri   s   `    r   rm   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 r8   )r   	_put_filer    r   lpathrpathr=   s       r   ro   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 r8   )r   put_filer    rp   s       r   rt   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 r8   )r   _putr    r   rq   rr   r<   r=   s        r   rv   zDirFileSystem._put   sn       "TW\JJu
 
 
 
 	
 
 
 
 
 
 
 
 	
r   c                 V     | j         j        ||                     |          g|R i |S r8   )r   putr    rw   s        r   ry   zDirFileSystem.put   sJ    tw{JJu
 
 
 
 	
 
 	
r   c                 `   K    | j         j        |                     |          |fi | d {V S r8   )r   	_get_filer    r   rr   rq   r=   s       r   r{   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 r8   )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 r8   )r   _getr    r   rr   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 r8   )r   getr    r   s       r   r   zDirFileSystem.get   s2    tw{4::e,,>t>>>v>>>r   c                 l   K   | j                             |                     |                     d {V S r8   )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 r8   )r   isfiler    r.   s     r   r   zDirFileSystem.isfile   "    w~~djj..///r   c                 l   K   | j                             |                     |                     d {V S r8   )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 r8   )r   isdirr    r.   s     r   r   zDirFileSystem.isdir   "    w}}TZZ--...r   c                 l   K   | j                             |                     |                     d {V S r8   )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 r8   )r   sizer    r.   s     r   r   zDirFileSystem.size   s"    w||DJJt,,---r   c                 l   K   | j                             |                     |                     d {V S r8   )r   _existsr    r.   s     r   r   zDirFileSystem._exists   r   r   c                 \    | j                             |                     |                    S r8   )r   existsr    r.   s     r   r   zDirFileSystem.exists   r   r   c                    K    | j         j        |                     |          fi | d {V }|                                }|                     |d                   |d<   |S Nname)r   _infor    rS   r3   r   r   r=   infos       r   r   zDirFileSystem._info   sj      "TW]4::d#3#3>>v>>>>>>>>yy{{}}T&\22Vr   c                      | j         j        |                     |          fi |}|                                }|                     |d                   |d<   |S r   )r   r   r    rS   r3   r   s       r   r   zDirFileSystem.info   sT    tw|DJJt,,7777yy{{}}T&\22Vr   Tc                 T  K    | j         j        |                     |          fd|i| d {V                                 }|rPg }|D ]I}|                                }|                     |d                   |d<   |                    |           J|S |                     |          S Ndetailr   )r   _lsr    rS   r3   appendr   r   r   r=   rj   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    rS   r3   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 r8   )r   _walkr    r3   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 r8   )r   walkr    r3   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   r2   r!   r   r   r   s      r   r$   z'DirFileSystem._glob.<locals>.<dictcomp>  +    LLL*$DMM$''LLLr   )r   r   _globr    r-   r3   r   r   r=   r   rj   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   r2   r   s      r   r$   z&DirFileSystem.glob.<locals>.<dictcomp>!  r   r   )r   r   globr    r-   r3   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   r2   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   rj   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   r2   r   s      r   r$   z$DirFileSystem.du.<locals>.<dictcomp>2  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   r2   r   s      r   r$   z'DirFileSystem._find.<locals>.<dictcomp>8  r   r   )r   r   _findr    r-   r3   r   r   r<   r=   r   rj   s   `     r   r   zDirFileSystem._find4  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   r2   r   s      r   r$   z&DirFileSystem.find.<locals>.<dictcomp>?  r   r   )r   r   findr    r-   r3   r   s   `     r   r   zDirFileSystem.find;  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 r8   )r3   r   _expand_pathr    rE   s       r   r   zDirFileSystem._expand_pathB  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 r8   )r3   r   expand_pathr    rE   s       r   r   zDirFileSystem.expand_pathG  s@    }}0TW0D1A1ASDSSSFSSTTTr   c                 d   K    | j         j        |                     |          g|R i | d {V S r8   )r   _mkdirr    rE   s       r   r   zDirFileSystem._mkdirJ  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 r8   )r   mkdirr    rE   s       r   r   zDirFileSystem.mkdirM  s2    tw}TZZ--???????r   c                 d   K    | j         j        |                     |          g|R i | d {V S r8   )r   	_makedirsr    rE   s       r   r   zDirFileSystem._makedirsP  r_   r   c                 T     | j         j        |                     |          g|R i |S r8   )r   makedirsr    rE   s       r   r   zDirFileSystem.makedirsS  rb   r   c                 \    | j                             |                     |                    S r8   )r   rmdirr    r.   s     r   r   zDirFileSystem.rmdirV  r   r   c                 v     | j         j        |                     |          |                     |          fi |S r8   )r   mvr    rJ   s       r   r   zDirFileSystem.mvY  sG    twzJJuJJu
 
 
 
 	
r   c                 N     | j         j        |                     |          fi |S r8   )r   touchr    r@   s      r   r   zDirFileSystem.touch`  s*    tw}TZZ--88888r   c                 \    | j                             |                     |                    S r8   )r   createdr    r.   s     r   r   zDirFileSystem.createdc  s"    wtzz$//000r   c                 \    | j                             |                     |                    S r8   )r   modifiedr    r.   s     r   r   zDirFileSystem.modifiedf  s$    w

4 0 0111r   c                 T     | j         j        |                     |          g|R i |S r8   )r   signr    rE   s       r   r   zDirFileSystem.signi  rX   r   c                 @    | j         j         d| j         d| j         dS )Nz(path='z', fs=))r   __qualname__r   r   r9   s    r   __repr__zDirFileSystem.__repr__l  s*    .-QQdiQQtwQQQQr   c                 T     | j         j        |                     |          g|R i |S r8   )r   openr    rE   s       r   r   zDirFileSystem.openo  sG     tw|JJt

 
 
 
 
 	
r   c                 d   K    | j         j        |                     |          g|R i | d {V S r8   )r   
open_asyncr    rE   s       r   r   zDirFileSystem.open_async{  sj       (TW'JJt

 
 
 
 
 
 
 
 
 
 
 	
r   )NNNNN)T)G__name__
__module__r   __doc__r   r   r    r3   propertyr*   r;   r?   rB   rD   rG   rI   rN   rP   rS   rU   rW   rZ   r\   r^   ra   rh   rm   ro   rt   rv   ry   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   r   __classcell__)r   s   @r   r   r      si         H ! ! ! ! ! !F	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    
" 
" 
" 
"
" 
" 
" 
"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)r0   r   asynr   chainedr   r   r   r   r   <module>r      s|          " " " " " " & & & & & &
 
 
 
 
O%6 
 
 
 
 
r   