o
    Û­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 ¡ �E}|j|| d� t |t j|| d�¡ t || ¡�}| ¡  	d¡}t
|ƒ}W d   ƒ n1 sEw   Y  t |t  |¡¡ W d   ƒ d S 1 s^w   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_jsonÚdecompress_fileÚreadÚdecoder   )r   ÚdfÚpathÚfhÚresultÚdata© r   úb/var/www/html/CropPilot/venv/lib/python3.10/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   )ÚdatapathÚuncompressed_pathÚuncompressed_dfÚcompressed_pathÚcompressed_dfr   r   r   Útest_read_zipped_json    s
   
r(   c              	   C   s¦   t  tdƒ¡}t ¡ �+}|j|| d� t|dƒ�}|jd|d� W d   ƒ n1 s*w   Y  W d   ƒ n1 s9w   Y  t jd|j› d�| |d�}t 	||¡ d S )	Nú {"a": [1, 2, 3], "b": [4, 5, 6]}r   Úrbztest-1)ÚKeyÚBodyzs3://z/test-1)r   Ústorage_options)
r   r   r   r   r   r   ÚopenÚ
put_objectÚnamer   )r   Ús3_public_bucketÚs3sor   r   ÚfÚroundtripped_dfr   r   r   Útest_with_s3_url*   s   
ÿ€þýr5   c                 C   sj   t  ¡ �'}t tdƒ¡}|j|dd| d� tj|d| d�}t  ||¡ W d   ƒ d S 1 s.w   Y  d S )Nr)   ÚrecordsT©ÚorientÚlinesr   )r9   r   )r   r   r   r   r   r   r   )r   r   r   r4   r   r   r   Útest_lines_with_compression=   s   
"ür:   c              	   C   s–   t  ¡ �=}t tdƒ¡}|j|dd| d� tj|dd| d��}t |¡}W d   ƒ n1 s.w   Y  t  ||¡ W d   ƒ d S 1 sDw   Y  d S )Nz,{"a": ["foo", "bar", "baz"], "b": [4, 5, 6]}r6   Tr7   é   )r9   Ú	chunksizer   )r   r   r   r   r   r   Úconcatr   )r   r   r   Úresr4   r   r   r   Útest_chunksize_with_compressionE   s   
ÿý"ør?   c               	   C   sŒ   t  tdƒ¡} t ¡ �1}d}tjt|d�� | j|dd� W d   ƒ n1 s'w   Y  W d   ƒ d S W d   ƒ d S 1 s?w   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   
ÿþ"þrH   c               	   C   s~   t  ¡ �1} d}tjt|d�� tj| dd� W d   ƒ n1 s w   Y  W d   ƒ d S W d   ƒ d S 1 s8w   Y  d S )Nr@   rA   rC   r   )r   r   rD   rE   rF   r   r   )r   rG   r   r   r   Ú&test_read_unsupported_compression_typeY   s   
ÿþ"þrI   Úinfer_stringFTÚpyarrow)ÚmarksÚto_inferÚ
read_inferc              	   C   sÐ   t  d|¡�X | }d}||| 7 }t  ddgi¡}|rdn|}|r#dn|}	t |¡�}
|j|
|d� t j|
|	d�}t ||¡ W d   ƒ n1 sIw   Y  W d   ƒ d S W d   ƒ d S 1 saw   Y  d S )Nzfuture.infer_stringztest.r   r;   Úinferr   )r   Úoption_contextr   r   r   r   r   r   )Úcompression_onlyrN   rM   Úcompression_to_extensionrJ   r   Úfilenamer   Úto_compressionÚread_compressionr   r   r   r   r   Útest_to_json_compression`   s   ýó"órV   c                 C   sJ   t  ddgi¡}tƒ �}|j|| d� W d   ƒ d S 1 sw   Y  d S )Nr   r;   r   )r   r   r   r   )r   ÚexpectedÚbufferr   r   r   Útest_to_json_compression_mode{   s   "ÿrY   )r    r   r   rD   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr   Úpandas._testingÚ_testingr   r   r(   Úskip_if_not_us_localeÚmarkÚ
single_cpur5   r:   r?   rH   rI   ÚparametrizeÚparamÚ
skip_if_norV   rY   r   r   r   r   Ú<module>   s*    
ÿ