
    Owg                        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(                  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jD                  d ejF                  d             ejD                  d ejF                  d            gZ$ ej(                  e$dd        d!        Z% ej(                  e$       d"        Z& ej(                  d# ejD                  d$ ejF                  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     O/var/www/horilla/myenv/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              #     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
       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motoflaskmaster5gw555zhttp://127.0.0.1:/zmoto_server s3 -p )stdoutstderr   r   g?N)pytestimportorskipsetenvr   r   r   r   skiplstrip
subprocessPopenshlexsplitDEVNULLgetok	Exceptiontimesleep	terminate)	worker_idmonkeypatchr2   endpoint_portendpoint_uriproctimeoutrs           r   s3_baserT   5   s     
  *L9.@ 15H5J KK2 *)&&z2F#G$
 %0Ci6F6Ft6L	i[)*=/; KK,]O<=%%%%
 	 GA+ \2Att  3

3 A+ NN%	 	 ! 	 	sH   D>G  F4	F%&!F4F4	G %	F1.F40F11F44F=9G c                     dd| iiS )Nclient_kwargsendpoint_urlr   )rT   s    r   s3sorX   t   s    ng677r   c                 4    dd l }|j                  d|       }|S )Nr   s3)rW   )r-   resource)rT   r-   rZ   s      r   s3_resourcer\   y   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r\   buckets     r   s3_public_bucketrg      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)	rg   r   r   r&   r*   test_s3_filess3_key	file_namefs	            r   s3_public_bucket_with_datarv      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)ACLr^   re   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ri   ro   )	r{   r   r   r&   r*   rr   rs   rt   ru   s	            r   s3_private_bucket_with_datar}      s     
y!	Y		E)*	V+,	
#	!<0	hM + =	)T" 	=a((V!(<	= 	== 	= 	=rw   )z.no_compressN) N)rj   gzip)z.GZr   )rk   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   )(rD   rB   rJ   r`   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*   rT   rX   r\   rg   rv   r{   r}   r   
skip_if_no_compression_formats_paramsr   r   r   r   r   r   <module>r      sW         * )   & P P 5 5
 ; ;
 P P
 F F 6 6 ; ;| 8 8      6    8 FLL!{)CDFLL!{)CD   21267 8 23 4 YmbmmI&>?r   