a
    é´«jš  ã                	   @   sÞ   d dl mZmZ d dlZd dlm  mZ d dlZ	d dl
mZ dd„ Zdd„ Zejejjdd„ ƒƒZd	d
„ Zdd„ Zdd„ Zdd„ Zej ddejde d¡d�g¡ej dddg¡ej dddg¡dd„ ƒƒƒZdd„ ZdS )é    )ÚBytesIOÚStringIONc              	   C   sÈ   t jg d¢g d¢gddgg d¢d�}t ¡ �ˆ}|j|| d� t |t j|| d�¡ t || ¡�&}| ¡  	d¡}t
|ƒ}W d   ƒ n1 sŠ0    Y  t |t  |¡¡ W d   ƒ n1 sº0    Y  d S )	N)g¿¶~úÏš¿?g9DÜœJÎ?g>éD‚)â?)gÜ.4×i¤(@g33333þ@gÍÌÌÌ¤œAÚAÚB)ÚXÚYÚZ)ÚindexÚcolumns©ÚcompressionÚutf8)ÚpdÚ	DataFrameÚtmÚensure_cleanÚto_jsonÚassert_frame_equalÚ	read_jsonZdecompress_fileÚreadÚdecoder   )r   ÚdfÚpathÚfhÚresultÚdata© r   úd/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/io/json/test_compression.pyÚtest_compression_roundtrip   s    ý
&r   c                 C   sD   | ddddƒ}t  |¡}| ddddƒ}t j|dd�}t ||¡ d S )NÚioÚjsonr   ztsframe_v012.jsonztsframe_v012.json.zipÚzipr   )r   r   r   r   )ÚdatapathZuncompressed_pathZuncompressed_dfZcompressed_pathZcompressed_dfr   r   r   Útest_read_zipped_json    s
    
r#   c              	   C   s¦   t  tdƒ¡}t ¡ �V}|j|| d� t|dƒ�}|jd|d� W d   ƒ n1 sT0    Y  W d   ƒ n1 sr0    Y  t jd|j› d�| |d�}t 	||¡ d S )	Nú {"a": [1, 2, 3], "b": [4, 5, 6]}r   Úrbztest-1)ÚKeyZBodyzs3://z/test-1)r   Zstorage_options)
r   r   r   r   r   r   ÚopenZ
put_objectÚnamer   )r   Zs3_public_bucketZs3sor   r   ÚfÚroundtripped_dfr   r   r   Útest_with_s3_url*   s    
Jýr+   c                 C   sh   t  ¡ �L}t tdƒ¡}|j|dd| d� tj|d| d�}t  ||¡ W d   ƒ n1 sZ0    Y  d S )Nr$   ÚrecordsT©ZorientÚlinesr   )r.   r   )r   r   r   r   r   r   r   )r   r   r   r*   r   r   r   Útest_lines_with_compression=   s
    
r/   c              	   C   s”   t  ¡ �x}t tdƒ¡}|j|dd| d� tj|dd| d��}t |¡}W d   ƒ n1 s\0    Y  t  ||¡ W d   ƒ n1 s†0    Y  d S )Nz,{"a": ["foo", "bar", "baz"], "b": [4, 5, 6]}r,   Tr-   é   )r.   Ú	chunksizer   )r   r   r   r   r   r   Úconcatr   )r   r   r   Úresr*   r   r   r   Útest_chunksize_with_compressionE   s    
ÿ(r4   c               	   C   sz   t  tdƒ¡} t ¡ �P}d}tjt|d�� | j|dd� W d   ƒ n1 sN0    Y  W d   ƒ n1 sl0    Y  d S )Nr$   ú*Unrecognized compression type: unsupported©ÚmatchÚunsupportedr   )	r   r   r   r   r   ÚpytestÚraisesÚ
ValueErrorr   )r   r   Úmsgr   r   r   Ú'test_write_unsupported_compression_typeQ   s
    
r=   c               	   C   sl   t  ¡ �P} d}tjt|d�� tj| dd� W d   ƒ n1 s@0    Y  W d   ƒ n1 s^0    Y  d S )Nr5   r6   r8   r   )r   r   r9   r:   r;   r   r   )r   r<   r   r   r   Ú&test_read_unsupported_compression_typeY   s    
r>   Úinfer_stringFTZpyarrow)ZmarksÚto_inferÚ
read_inferc              	   C   s¾   t  d|¡�ž | }d}||| 7 }t  ddgi¡}|r:dn|}|rFdn|}	t |¡�8}
|j|
|d� t j|
|	d�}t ||¡ W d   ƒ n1 s’0    Y  W d   ƒ n1 s°0    Y  d S )Nzfuture.infer_stringztest.r   r0   Zinferr   )r   Zoption_contextr   r   r   r   r   r   )Zcompression_onlyrA   r@   Zcompression_to_extensionr?   r   Úfilenamer   Zto_compressionZread_compressionr   r   r   r   r   Útest_to_json_compression`   s    rC   c                 C   sH   t  ddgi¡}tƒ �}|j|| d� W d   ƒ n1 s:0    Y  d S )Nr   r0   r   )r   r   r   r   )r   ÚexpectedÚbufferr   r   r   Útest_to_json_compression_mode{   s    rF   )r   r   r   r9   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasr   Zpandas._testingZ_testingr   r   r#   Zskip_if_not_us_localeÚmarkZ
single_cpur+   r/   r4   r=   r>   ZparametrizeÚparamZ
skip_if_norC   rF   r   r   r   r   Ú<module>   s(   
ÿ