
    çgQ                     X    d dl mZ d dlmZ d dlZd dlmZ d dlmZ  G d d          Z	dS )    )md5)productNmake_path_posix)GLOB_EDGE_CASES_TESTSc                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
ej                            ed	         ed
                   d             Zd Zd Zd Zd Zd ZdS )AbstractGetTestsc                    |}|}|                     |           |                    |          sJ  ||d          }	 ||d          }
|                     ||d          |           |                    |	          sJ |                     ||dd          |           |                    |
          sJ |                    |	|
g           |                    |	          rJ |                    |
          rJ |                     ||d          |dz              |                    |          sJ |                    |	          sJ |                     ||dd          |dz              |                    |
          sJ d S )Nfile2subfile1subdir/)mkdirisdirgetisfilermexists)selffsfs_joinfs_bulk_operations_scenario_0local_fs
local_joinlocal_targetsourcetargettarget_file2target_subfile1s              U/var/www/html/ai-engine/env/lib/python3.11/site-packages/fsspec/tests/abstract/get.py#test_get_file_to_existing_directoryz4AbstractGetTests.test_get_file_to_existing_directory   s    /v~~f%%%%%!z&'22$*VZ88 	wwvw''000|,,,,, 	wwvx44f===///// 	\?3444??<00000???33333 	wwvw''#666~~f%%%%%|,,,,,
wwvx44fslCCC///////    c                 B   |}|}|                     |           |                     ||dd           ||d                     |                    |          sJ |                     ||d                    sJ |                     ||dd                    sJ d S )Nr   r   znewdir/newdirr   r   r   r   	r   r   r   r   r   r   r   r   r   s	            r    test_get_file_to_new_directoryz/AbstractGetTests.test_get_file_to_new_directory3   s     /v
GFHj11::fi3P3P	
 	
 	
 ~~f%%%%%~~jj::;;;;;zz&(JGGHHHHHHHr"   c                     |}|}|                     |           |                     ||dd           ||d                     |                     ||d                    sJ d S )Nr   r   newfile)r   r   r   r&   s	            r    +test_get_file_to_file_in_existing_directoryz<AbstractGetTests.test_get_file_to_file_in_existing_directoryJ   sx     /v
wwvx44jj6S6STTTzz&)<<=======r"   c                    |}|}|                     |           |                     ||dd           ||dd                     |                     ||d                    sJ |                     ||dd                    sJ d S )Nr   r   r$   r)   r%   r&   s	            r    &test_get_file_to_file_in_new_directoryz7AbstractGetTests.test_get_file_to_file_in_new_directory\   s     /v
GFHj11Jvx33	
 	
 	
 ~~jj::;;;;;zz&(IFFGGGGGGGr"   c           	         |}|}|                     |           |                    |          sJ t          ddgddg          D ]\  }	}
 ||d          }|	r|dz  }|
r|dz   n|}|                    ||           |                    |          g k    sJ |                    ||d           |	r|                     ||d                    sJ |                     ||d                    sJ |                     ||d                    sJ |                     ||dd	                    sJ |                     ||d                    rJ |                     ||d           ||d           ||d          gd           n|                     ||d                    sJ |                     ||dd                    sJ |                     ||dd                    sJ |                     ||dd                    sJ |                     ||ddd	                    sJ |                     ||d          d           |                    |          g k    sJ |                    ||dd
           |	r|                     ||d                    sJ |                     ||d                    sJ |                     ||d                    rJ |                     ||d                    rJ |                     ||d           ||d          gd           n|                     ||d                    sJ |                     ||dd                    sJ |                     ||dd                    sJ |                     ||dd                    rJ |                     ||d          d           |                    |          g k    sJ d S )NFTr   r   	recursiver   subfile2	nesteddir
nestedfile   r/   maxdepth)r   r   zipr   lsr   r   r   r   r   r   r   r   r   r   r   r   source_slashtarget_slashsts                r    (test_get_directory_to_existing_directoryz9AbstractGetTests.test_get_directory_to_existing_directoryr   s    /v~~f%%%%%*-udmeT]*K*K =	- =	-&L,))A S ,8&A FF1aLLL;;v&&",,,, FF1a4F((( Jzz&*'E'EFFFFFzz&*'E'EFFFFF~~jj&E&EFFFFFzz&+|'T'TUUUUU#??::fh+G+GHHHHH"
6:66"
6:66"
6;77
 #       ~~jj&B&BCCCCCzz&(J'O'OPPPPPzz&(J'O'OPPPPP~~jj;&O&OPPPPPJvxlKK     JJvx88DIII;;v&&",,,, FF1a4!F444 Jzz&*'E'EFFFFFzz&*'E'EFFFFF#??::fk+J+JKKKKK#??::fh+G+GHHHHH"
6:66"
6:66 #       ~~jj&B&BCCCCCzz&(J'O'OPPPPPzz&(J'O'OPPPPP#??::fh+T+TUUUUUJJvx88DIII;;v&&",,,,,{=	- =	-r"   c           	      b   |}|}|                     |           t          ddgddg          D ]\  }	}
 ||d          }|	r|dz  } ||d          }|
r|dz  }|                    ||           |                    |          g k    sJ |                    ||d           |                     ||d                    sJ |                     ||dd                    sJ |                     ||dd                    sJ |                     ||dd	                    sJ |                     ||dd	d
                    sJ |                     ||d                    rJ |                     ||d          d           |                    |          g k    sJ |                    ||dd           |                     ||d                    sJ |                     ||dd                    sJ |                     ||dd                    sJ |                     ||dd	                    rJ |                     ||d                    rJ |                     ||d          d           |                     ||d                    rJ d S )NFTr   r   r$   r.   r   r0   r1   r2   r3   r4   )r   r6   r   r7   r   r   r   r   r8   s                r    #test_get_directory_to_new_directoryz4AbstractGetTests.test_get_directory_to_new_directory   s0    /v*-udmeT]*K*K #	E #	E&L,))A S
68,,A S FF1aLLL;;v&&",,,, FF1a4F(((>>**VX">">???????::fh
#K#KLLLLL??::fh
#K#KLLLLL>>**VX{"K"KLLLLL??
68[,GG      zz&('C'CDDDDDKK

6844KEEE;;v&&",,,, FF1a4!F444>>**VX">">???????::fh
#K#KLLLLL??::fh
#K#KLLLLLzz&(K'P'PQQQQQzz&('C'CDDDDDKK

6844KEEEzz&('C'CDDDDDDG#	E #	Er"   c           
         |}|}|                     |           dD ]C}	|	r|dz   n|}
|                     ||dd          |
           |                     ||d                    sJ |                     ||d                    sJ |                     ||d                    rJ |                     ||dd                    rJ |                     ||d                    rJ |                     ||d           ||d          gd	
           |                    |          g k    sJ t          ddgd	dg          D ]\  }}|                     ||d|          |
|
           |                     ||d                    sJ |                     ||d                    sJ |                     ||d                    sJ |                     ||dd                    sJ |                     ||d                    rJ |                     ||d           ||d           ||d          gd	
           |                    |          g k    sJ |                     ||d|          |
|d           |                     ||d                    sJ |                     ||d                    sJ |                     ||d                    rJ |                     ||d                    rJ |                     ||d           ||d          gd	
           |                    |          g k    sJ Ed S )NFTr   r   *r   r0   r1   r2   Tr.   **Fr3   r4   )r   r   r   r   r   r   r7   r6   r   r   r   r   r   r   r   r   r   r:   r<   globr/   s                r    #test_get_glob_to_existing_directoryz4AbstractGetTests.test_get_glob_to_existing_directory   s-    /v) 7	1 7	1L ,8&A FF7768S111555??::fj#A#ABBBBB??::fj#A#ABBBBB~~jj&E&EFFFFFzz&+|'T'TUUUUUzz&('C'CDDDDDKKJvz22Jvz22      ;;v&&",,,, $'T{T5M#B#B "1 "1iwwvx66YOOOzz&*'E'EFFFFFzz&*'E'EFFFFF~~jj&E&EFFFFFzz&+|'T'TUUUUU#??::fh+G+GHHHHH"
6:66"
6:66"
6;77
 #      {{6**b0000 GFHd33Q)VW      zz&*'E'EFFFFFzz&*'E'EFFFFF#??::fk+J+JKKKKK#??::fh+G+GHHHHH"
6:66"
6:66 #      {{6**b00000E"1+7	1 7	1r"   c           
      R   |}|}|                     |           dD ]	}	 ||d          }
|	r|
dz  }
|                     ||dd          |
           |                     ||d                    sJ |                     ||dd                    sJ |                     ||dd                    sJ |                     ||dd                    rJ |                     ||ddd	                    rJ |                     ||d                    rJ |                     ||dd                    rJ |                     ||d          d
           |                    |          g k    sJ t          ddgd
dg          D ]\  }}|                     ||d|          |
|           |                     ||d                    sJ |                     ||dd                    sJ |                     ||dd                    sJ |                     ||dd                    sJ |                     ||ddd	                    sJ |                     ||d                    rJ |                     ||dd                    rJ |                     ||d          d
           |                     ||d                    rJ |                     ||d|          |
|d           |                     ||d                    sJ |                     ||dd                    sJ |                     ||dd                    sJ |                     ||dd                    rJ |                     ||d                    rJ |                     ||dd                    rJ |                    |                    |d          d
           |                     ||d                    rJ d S )NrA   r$   r   r   rB   r   r0   r1   r2   Tr.   rC   Fr3   r4   )detail)r   r   r   r   r   r   r7   r6   rD   s                r    test_get_glob_to_new_directoryz/AbstractGetTests.test_get_glob_to_new_directory=  s    /v) 0	I 0	IL))A S FF7768S111555>>**VX">">???????::fh
#K#KLLLLL??::fh
#K#KLLLLLzz&(K'P'PQQQQQ
68[,GG      zz&('C'CDDDDDzz&(H'M'MNNNNNKK

6844KEEE;;v&&",,,, $'T{T5M#B#B I Iiwwvx66YOOO~~jj&B&BCCCCCzz&(J'O'OPPPPPzz&(J'O'OPPPPP~~jj;&O&OPPPPPJvxlKK     $??::fh+G+GHHHHH#??::fh+Q+QRRRRRJJvx88DIII#??::fh+G+GHHHHH GFHd33Q)VW      ~~jj&B&BCCCCCzz&(J'O'OPPPPPzz&(J'O'OPPPPP#??::fh+T+TUUUUU#??::fh+G+GHHHHH#??::fh+Q+QRRRRRHKKuK==NNN#??::fh+G+GHHHHHH7I+0	I 0	Ir"   argnames	argvaluesc                   	 |}|
t          ddgddg          D ]\  }}|                               |r 	d          n}|r|dz   n|}|                     |||          |||           |                              }|r	fd|D             }n	fd|D             }t	          |          t	          |          k    sJ 	 |                    d           # t          $ r Y w xY wd S )	NTFr$   r   r4   c           	      D    g | ]}t           d |                    S )r$   r   .0pr   r   s     r    
<listcomp>z=AbstractGetTests.test_get_glob_edge_cases.<locals>.<listcomp>  s<     % % %IJOJJvx$C$CDD% % %r"   c                 B    g | ]}t           |                    S  r   rN   s     r    rQ   z=AbstractGetTests.test_get_glob_edge_cases.<locals>.<listcomp>  s:     % % %?@OJJvq$9$9::% % %r"   r.   )r   r   r   findsortedr   FileNotFoundError)r   pathr/   r5   expectedr   r   fs_glob_edge_cases_filesr   r   r   r   new_dirr:   r<   outputprefixed_expectedr   s            `       @r    test_get_glob_edge_casesz)AbstractGetTests.test_get_glob_edge_cases~  s}   $ *%,dE]T5M%J%J 	 	!G\NN6"""07C

68,,,VA'.CQAFF7764((!y8FTTT]]6**F % % % % %NV% % %!!% % % % %DL% % %! &>>V,=%>%>>>>>Fd3333$   +	 	s   
C""
C/.C/c           	      4   |}|}|                     |            ||d           ||d           ||dd          g}	dD ]}
|
r|dz   n|}|                    |	|           |                     ||d                    sJ |                     ||d                    sJ |                     ||d                    sJ |                     ||d           ||d           ||d          gd           |                    |          g k    sJ d S )	Nfile1r   r   r   rA   r   Tr.   )r   r   r   r   r7   )r   r   r   r   r   r   r   r   r   source_filesr:   r<   s               r    ,test_get_list_of_files_to_existing_directoryz=AbstractGetTests.test_get_list_of_files_to_existing_directory  sy    /v GFG$$GFG$$GFHj11
 * 	- 	-L ,8&AFF<###??::fg#>#>???????::fg#>#>???????::fj#A#ABBBBBKKJvw//Jvw//Jvz22
      ;;v&&",,,,,!	- 	-r"   c                    |}|}|                     |            ||d           ||d           ||dd          g}	|                    |	 ||d          dz              |                     ||d                    sJ |                     ||dd                    sJ |                     ||dd                    sJ |                     ||dd                    sJ d S )Nr_   r   r   r   r$   r   r%   )
r   r   r   r   r   r   r   r   r   r`   s
             r    'test_get_list_of_files_to_new_directoryz8AbstractGetTests.test_get_list_of_files_to_new_directory  s    /v GFG$$GFG$$GFHj11
 	|ZZ99C?@@@~~jj::;;;;;zz&(GDDEEEEEzz&(GDDEEEEEzz&(JGGHHHHHHHr"   c                      ||d          } ||d          }|                     |           |                    |           |}	|                    |	          rJ t          d          D ]}
|                    ||	d           |                    |	          sJ |
dk    rC|                     ||	d                    sJ |                     ||	d                    rJ z|                     ||	d                    sJ |                     ||	d                    sJ |                     ||	dd                    sJ |                    |	d           |                    |	          rJ t          d          D ]v}
|                    |dz   |	d           |                    |	          sJ |                     ||	d                    sJ |                     ||	d                    rJ wd S )Nsrcfile   Tr.   r   r   )r   touchr   ranger   r   r   r   )r   r   r   fs_pathr   r   r   re   src_filer   loops              r    test_get_directory_recursivez-AbstractGetTests.test_get_directory_recursive  sD   
 ggu%%73''

 ??6*****!HH 
	J 
	JDFF3$F///>>&)))))qyyzz&&'A'ABBBBB#??::fe+D+DEEEEEEzz&&'A'ABBBBB~~jj&?&?@@@@@zz&%'H'HIIIIIIFd+++ ??6*****!HH 	B 	BDFF39fF555>>&)))))??::ff#=#=>>>>>zz&%'@'@AAAAAA		B 	Br"   c                 X   |}|}|                      ||d          |d           |                     ||d                    sJ |                     ||d                    rJ |                     ||d          g           |                    |          g k    sJ |                      ||d          |d           |                     ||d                    sJ |                     ||dd                    sJ |                     ||d                    sJ d S )Nr   Tr.   zsubfile.txtz
subdir.txtzsubdir*)r   r   r   r7   r   )	r   r   r   r   r   r   %fs_dir_and_file_with_same_name_prefixr   r   s	            r    6test_get_directory_without_files_with_same_name_prefixzGAbstractGetTests.test_get_directory_without_files_with_same_name_prefix  sT    7 	wwvx((&DAAAzz&-@@AAAAA??::fl#C#CDDDDDZZ667888{{6""b(((( 	wwvy))6TBBB~~jj::;;;;;zz&(MJJKKKKKzz&,??@@@@@@@r"   c           
      6   |}|}g }	g }
t          d          D ]}t          t          |                              d                                                    }|	                     ||| d                     |
                    t           ||| d                               |                    |	|
           t          d          D ]E}|                    |
|                   	                    d          }|t          |          k    sJ Fd S )N
   zutf-8z.txt)rpathlpath)
ri   r   strencode	hexdigestappendr   r   catdecode)r   r   r   r   r   r   fs_10_files_with_hashed_namesr   r   r`   destination_filesihashed_ifile_contents                 r    ,test_get_with_source_and_destination_as_listz=AbstractGetTests.test_get_with_source_and_destination_as_list/  s8    / r 	 	A3q66==1122<<>>H80A0A0A B BCCC$$

6h3D3D3D E EFF   
 	\):;;;r 	* 	*A#<<(9!(<==DDWMML3q66)))))	* 	*r"   N)__name__
__module____qualname__r!   r'   r*   r,   r=   r?   rF   rI   pytestmarkparametrizer   r]   ra   rc   rm   rp   r   rS   r"   r    r	   r	   
   s:       &0 &0 &0PI I I.> > >$H H H,M- M- M-^2E 2E 2EhF1 F1 F1P?I ?I ?IB [j)k* ( (	 (T%- %- %-NI I I6"B "B "BHA A A:* * * * *r"   r	   )
hashlibr   	itertoolsr   r   fsspec.implementations.localr   fsspec.tests.abstract.commonr   r	   rS   r"   r    <module>r      s                 8 8 8 8 8 8 > > > > > >A	* A	* A	* A	* A	* A	* A	* A	* A	* A	*r"   