Ë
    ¤eh  ã                   óÐ  — 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     úV/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/io/conftest.pyÚcompression_to_extensionr      s-   € ä)-×)FÑ)F×)LÑ)LÓ)N×O™:˜3 ˆE�3‰JÓ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˜( F¨MÓ:Ð: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   € ô ‘H˜T 8¨V°^Ó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Ø×ÑÐ.°Ô@ÜÔÜÔ¤Ô 1Ô5HÔ5Jô �K‰Kð2õð *Ó)ä×&Ñ& zÓ2ˆÜ×Ñ˜FÔ#Ü×Ñ˜GÔ$ð
 %¨Ò0‘C°i×6FÑ6FÀtÓ6Lˆ	Ø˜i˜[Ð)ˆØ*¨=¨/¸Ð;ˆô ×ÑÜ�K‰KÐ,¨]¨OÐ<Ó=Ü×%Ñ%Ü×%Ñ%ô
ð 	ð ØˆGØ˜A’+ðà Ÿ™ \Ó2�AØ—t’tØð ð ˜3‘�Ü—
‘
˜3”ð ˜A“+ð Òà�N‰NÔ÷%	ð 	øô !ò Ùðú÷	ð 	ü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   € à˜n¨gÐ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ˆÓ	3€BØ€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   è ø€ à×Ñ ,¬t¯z©z«|¨nÐ =Ó>€FØ
‡M�M„OØ
‚LØ
‡N�N×ÑÔØ
‡M�M…Oùs   ‚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   è ø€ à×Ñ ,¬t¯z©z«|¨nÐ =Ó>€FØ
‡M�M�i€MÔ Ø
‚LØ
‡N�N×ÑÔØ
‡M�M…Oùs   ‚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 ØØØØØØØØØØ€F‡L�LÐ!¨¨¯©°{Ó)CÔDØ€F‡L�LÐ!¨¨¯©°{Ó)CÔDðÐ ð  €‡�Ð2°1°2Ð6Ô7ñó 8ðð €‡�Ð2Ô3ñó 4ðð €‡�àØˆ�‰�Y m b§m¡m°IÓ&>Ô?ðôñóñr   