a
    é´«j™  ã                   @   s–  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  mZ d dlm  mZ d dlmZ ejdd„ ƒZejdd„ ƒZejdd	„ ƒZejd
d„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZ ejdd„ ƒZ!ddd d!d"d#d$d%d&d'ej"d(e #d)¡d*�ej"d+e #d)¡d*�gZ$eje$d,d… d-�d.d/„ ƒZ%eje$d-�d0d1„ ƒZ&dS )2é    N)Úis_ci_environmentÚis_platform_armÚis_platform_macÚis_platform_windows©Úread_csvc                   C   s   dd„ t j ¡ D ƒS )Nc                 S   s   i | ]\}}||“qS © r   )Ú.0ÚkeyÚvaluer   r   úW/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/io/conftest.pyÚ
<dictcomp>   ó    z,compression_to_extension.<locals>.<dictcomp>)ÚicomZextension_to_compressionÚitemsr   r   r   r   Úcompression_to_extension   s    r   c                 C   s   | ddddƒS )zPath to the tips datasetÚioÚdataÚcsvútips.csvr   ©Údatapathr   r   r   Ú	tips_file   s    r   c                 C   s   | ddddƒS )zPath to a JSONL datasetr   Úparserr   úitems.jsonlr   r   r   r   r   Ú
jsonl_file   s    r   c                 C   s   t | ddddƒdd�S )z#DataFrame with the salaries datasetr   r   r   zsalaries.csvú	)Úsepr   r   r   r   r   Úsalaries_table%   s    r   c                 C   s   | ddddƒS )Nr   r   Zfeatherzfeather-0_3_1.featherr   r   r   r   r   Úfeather_file+   s    r   c                 C   s   | ddddƒS )Nr   r   Úxmlú	books.xmlr   r   r   r   r   Úxml_file0   s    r"   c              	   c   sF  t  d¡ t  d¡ | dd¡ | dd¡ tƒ rXtƒ sDtƒ sDtƒ rPt  d¡ ndV  nêt  d	¡}t  d
¡ t  d¡ | dkr‚dn|  d¡} d| › �}d|› d�}t	j
t d|› �¡t	jt	jd��n}d}|dk�rz| |¡}|jrêW �qW n tyþ   Y n0 |d8 }t d¡ qÈ|V  | ¡  W d  ƒ n1 �s80    Y  dS )z�
    Fixture for mocking S3 interaction.

    Sets up moto server in separate process locally
    Return url for motoserver/moto CI service
    Zs3fsÚboto3ZAWS_ACCESS_KEY_IDZ
foobar_keyZAWS_SECRET_ACCESS_KEYZfoobar_secretzJS3 tests do not have a corresponding service on Windows or macOS platformszhttp://localhost:5000ÚrequestsZmotoZflaskZmasterÚ5ZgwZ555zhttp://127.0.0.1:ú/zmoto_server s3 -p )ÚstdoutÚstderré   r   gš™™™™™¹?N)ÚpytestZimportorskipZsetenvr   r   r   r   ÚskipÚlstripÚ
subprocessÚPopenÚshlexÚsplitÚDEVNULLÚgetÚokÚ	ExceptionÚtimeÚsleepÚ	terminate)Z	worker_idZmonkeypatchr$   Zendpoint_portZendpoint_uriÚprocÚtimeoutÚrr   r   r   Ús3_base5   sD    

ÿ



ý


r;   c                 C   s   dd| iiS )NZclient_kwargsÚendpoint_urlr   )r;   r   r   r   Ús3sos   s    r=   c                 C   s   dd l }|jd| d�}|S )Nr   Ús3)r<   )r#   Úresource)r;   r#   r>   r   r   r   Ús3_resourcex   s    r@   c                 c   s8   |   dt ¡ › �¡}| ¡  |V  |j ¡  | ¡  d S )Nzpandas-test-©ZBucketÚuuidÚuuid4ÚcreateÚobjectsÚdelete©r@   Zbucketr   r   r   Ús3_public_bucket€   s
    
rH   c           	   	   C   s€   d|fd|fd|d fd|d fd|fd|fd	|fg}|D ]@\}}t |d
ƒ�}| j||d� W d  ƒ q:1 sp0    Y  q:| S ©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)ÚKeyZBodyN©ÚopenZ
put_object)	rH   r   r   r   r"   Útest_s3_filesÚs3_keyÚ	file_nameÚfr   r   r   Ús3_public_bucket_with_data‰   s    

ù	.rT   c                 c   s<   |   dt ¡ › �¡}|jdd� |V  |j ¡  | ¡  d S )Nzcant_get_it-Úprivate)ZACLrA   rG   r   r   r   Ús3_private_bucket¥   s
    
rV   c           	   	   C   s€   d|fd|fd|d fd|d fd|fd|fd	|fg}|D ]@\}}t |d
ƒ�}| j||d� W d  ƒ q:1 sp0    Y  q:| S rI   rN   )	rV   r   r   r   r"   rP   rQ   rR   rS   r   r   r   Ús3_private_bucket_with_data®   s    

ù	.rW   )z.no_compressN)Ú N)rJ   Úgzip)z.GZrY   )rK   Úbz2)z.BZ2rZ   )z.zipÚzip)z.ZIPr[   )z.xzÚxz)z.XZr\   )z.zstÚzstdZ	zstandard)Zmarks)z.ZSTr]   é   )Úparamsc                 C   s   | j S )N©Úparam©Úrequestr   r   r   Úcompression_formatÚ   s    rd   c                 C   s
   | j d S )Nr   r`   rb   r   r   r   Úcompression_extß   s    re   )'r/   r-   r5   rB   r*   Zpandas.compatr   r   r   r   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandas.io.commonr   Úcommonr   Zpandas.io.parsersr   Zfixturer   r   r   r   r   r"   r;   r=   r@   rH   rT   rV   rW   ra   Z
skip_if_noZ_compression_formats_paramsrd   re   r   r   r   r   Ú<module>   sf   






=





ô

