
    LVf                     4   d dl Z d dlZd dlZd dlZd dlZd dlmZmZmZm	Z	 d dl
mc mZ d dlmc mZ d dlmZ ej(                  d        Zej(                  d        Zej(                  d        Zej(                  d        Zej(                  d        Zej(                  d	        Zej(                  d
        Z ej(                   e       rdnd      d        Z ej(                   e       rdnd      d        Zej(                  d        Zej(                  d        Zej(                  d        Z ej(                  d        Z!ej(                  d        Z"dddddddddd ejF                  d ejH                  d       !       ejF                  d" ejH                  d       !      gZ% ej(                  e%d#d $      d%        Z& ej(                  e%$      d&        Z' ej(                  d' ejF                  d( ejH                  d(      !      g$      d)        Z(y)*    N)is_ci_environmentis_platform_armis_platform_macis_platform_windowsread_csvc                  r    t         j                  j                         D  ci c]  \  } }|| 
 c}} S c c}} w N)icomextension_to_compressionitems)keyvalues     a/var/www/html/software/conda/envs/catlas/lib/python3.12/site-packages/pandas/tests/io/conftest.pycompression_to_extensionr      s-    )-)F)F)L)L)NO:3E3JOOOs   3c                      | dddd      S )zPath to the tips datasetiodatacsvtips.csv datapaths    r   	tips_filer      s     D&%44    c                      | dddd      S )zPath to a JSONL datasetr   parserr   items.jsonlr   r   s    r   
jsonl_filer      s     D(FM::r   c                 .    t         | dddd      d      S )z#DataFrame with the salaries datasetr   r   r   zsalaries.csv	)sepr   r   s    r   salaries_tabler#   %   s     HT8V^D$OOr   c                      | dddd      S )Nr   r   featherzfeather-0_3_1.featherr   r   s    r   feather_filer&   +   s    D&)-DEEr   c                      | dddd      S )Nr   r   xml	books.xmlr   r   s    r   xml_filer*   0   s    D&%55r   c                 d    t               rd}n| dk(  rdn| j                  d      } d|  d}dd|iiS )	Nzhttp://localhost:5000/master5gwzhttp://127.0.0.1:555/client_kwargsendpoint_url)r   lstrip)	worker_idurls     r   s3sor5   5   sD    &$0Ci6F6Ft6L	$YKq1nc233r   functionsession)scopec               #   z   K   t         j                  j                         5 } |  d d d        y # 1 sw Y   y xY wwr
   )pytestMonkeyPatchcontext)mps    r   monkeysessionr>   ?   s3     				#	#	%   s   ;/	;8;c              #     K   t        j                  d       t        j                  d       |j                  dd       |j                  dd       t               r9t	               st               s
t               rt        j                  d       yd yt        j                  d	      }t        j                  d
d       t        j                  d       | dk(  rdn| j                  d      } d|  }d| d}t        j                  t        j                  d|       t        j                  t        j                        5 }d}|dkD  r@	 |j                  |      }|j                  rn!	 |dz  }t#        j$                  d       |dkD  r@| |j'                          ddd       y# t         $ r Y Hw xY w# 1 sw Y   yxY ww)z
    Fixture for mocking S3 interaction.

    Sets up moto server in separate process locally
    Return url for motoserver/moto CI service
    s3fsboto3AWS_ACCESS_KEY_ID
foobar_keyAWS_SECRET_ACCESS_KEYfoobar_secretzOS3 tests do not have a corresponding service in Windows, macOS or ARM platformszhttp://localhost:5000requestsmotoz1.3.14)
minversionflaskr,   r-   r.   555zhttp://127.0.0.1:r/   zmoto_server s3 -p )stdoutstderr   r   g?N)r:   importorskipsetenvr   r   r   r   skipr2   
subprocessPopenshlexsplitDEVNULLgetok	Exceptiontimesleep	terminate)r3   r>   rF   endpoint_portendpoint_uriproctimeoutrs           r   s3_basera   E   s     
  ,l;0/B 15H5J KK2
 *)&&z2Fx8G$
 %0Ci6F6Ft6L	i[)*=/; KK,]O<=%%%%
 	 GA+ \2Att  3

3 A+ NN%	 	 ! 	 	sH   E GF6F'(!F6
F6	G'	F30F62F33F66F?;Gc                 4    dd l }|j                  d|       }|S )Nr   s3)r1   )rA   resource)ra   rA   rc   s      r   s3_resourcere      s    	7	3BIr   c              #      K   | j                  dt        j                                }|j                          | |j                  j                          |j                          y w)Nzpandas-test-Bucketuuiduuid4createobjectsdeletere   buckets     r   s3_public_bucketrp      sJ     ,tzz|n =>F
MMO
L
NN
MMOs   A&A(c                     d|fd|fd|dz   fd|dz   fd|fd|fd	|fg}|D ]-  \  }}t        |d
      5 }| j                  ||       ddd       / | S # 1 sw Y   ;xY wzw
    The following datasets
    are loaded.

    - tips.csv
    - tips.csv.gz
    - tips.csv.bz2
    - items.jsonl
    z
tips#1.csvr   ztips.csv.gz.gzztips.csv.bz2.bz2r   zsimple_dataset.featherr)   rb)KeyBodyNopen
put_object)	rp   r   r   r&   r*   test_s3_filess3_key	file_namefs	            r   s3_public_bucket_with_datar      s     
y!	Y		E)*	V+,	
#	!<0	hM + <	)T" 	<a''F';	< 	<< 	< 	<   AA	c              #      K   | j                  dt        j                                }|j                  d       | |j                  j                          |j                          y w)Nzcant_get_it-private)ACLrg   rn   s     r   s3_private_bucketr      sO     ,tzz|n =>F
MMiM 
L
NN
MMOs   A(A*c                     d|fd|fd|dz   fd|dz   fd|fd|fd	|fg}|D ]-  \  }}t        |d
      5 }| j                  ||       ddd       / | S # 1 sw Y   ;xY wrr   rx   )	r   r   r   r&   r*   r{   r|   r}   r~   s	            r   s3_private_bucket_with_datar      s     
y!	Y		E)*	V+,	
#	!<0	hM + =	)T" 	=a((V!(<	= 	== 	= 	=r   )z.no_compressN) N)rs   gzip)z.GZr   )rt   bz2)z.BZ2r   )z.zipzip)z.ZIPr   )z.xzxz)z.XZr   )z.zstzstd	zstandard)marks)z.ZSTr      )paramsc                     | j                   S r
   paramrequests    r   compression_formatr      s    ==r   c                      | j                   d   S )Nr   r   r   s    r   compression_extr      s    ==r   pythonpyarrowc                     | j                   S )zb
    Parametrized fixture for pd.options.mode.string_storage.

    * 'python'
    * 'pyarrow'
    r   r   s    r   string_storager      s     ==r   ))rS   rQ   rY   ri   r:   pandas.compatr   r   r   r   pandas.util._test_decoratorsutil_test_decoratorstdpandas.io.commonr   commonr   pandas.io.parsersr   fixturer   r   r   r#   r&   r*   r5   r>   ra   re   rp   r   r   r   r   
skip_if_no_compression_formats_paramsr   r   r   r   r   r   <module>r      s         * )   & P P 5 5
 ; ;
 P P
 F F 6 6 4 4 $5$7jYG H
 $5$7jYG: H:z      6    8 FLL!{)CDFLL!{)CD   21267 8 23 4 YmbmmI&>?r   