U
    ¾mœds  ã                   @   sÄ   d dl mZ d dlZd dlm  mZ d dlZd dl	m
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dg¡ej dddg¡dd„ ƒƒZdd„ ZdS )é    )ÚBytesION)Ú_compression_to_extensionc              
   C   sž   t jdddgdddggddgd	d
dgd�}t ¡ �b}|j|| d� t |t j|| d�¡ t || ¡�}| ¡  	d¡}W 5 Q R X t |t  |¡¡ W 5 Q R X d S )Ng¿¶~úÏš¿?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Údecode)r   ÚdfÚpathÚfhÚresult© r   ú^/home/sam/Atlas/atlas_env/lib/python3.8/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ÚjsonÚdataz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   sv   t  d¡}t ¡ �>}|j|| d� t|dƒ�}| d¡jd|d� W 5 Q R X W 5 Q R X t jd| |d�}t ||¡ d S )	Nú {"a": [1, 2, 3], "b": [4, 5, 6]}r   Úrbzpandas-testztest-1)ÚKeyZBodyzs3://pandas-test/test-1)r   Zstorage_options)	r   r   r   r   r   ÚopenZBucketZ
put_objectr   )r   Zs3_resourceZs3sor   r   ÚfÚroundtripped_dfr   r   r   Útest_with_s3_url'   s    

(  ÿr*   c              	   C   sP   t  ¡ �>}t d¡}|j|dd| d� tj|d| d�}t  ||¡ W 5 Q R X d S )Nr$   ÚrecordsT©ZorientÚlinesr   )r-   r   )r   r   r   r   r   r   )r   r   r   r)   r   r   r   Útest_lines_with_compression9   s
    

r.   c              
   C   sh   t  ¡ �V}t d¡}|j|dd| d� tj|dd| d��}t |¡}W 5 Q R X t  ||¡ W 5 Q R X d S )Nz,{"a": ["foo", "bar", "baz"], "b": [4, 5, 6]}r+   Tr,   é   )r-   Ú	chunksizer   )r   r   r   r   r   Úconcatr   )r   r   r   Úresr)   r   r   r   Útest_chunksize_with_compressionA   s    

   ÿr3   c               
   C   sN   t  d¡} t ¡ �2}d}tjt|d�� | j|dd� W 5 Q R X W 5 Q R X d S )Nr$   ú*Unrecognized compression type: unsupported©ÚmatchÚunsupportedr   )r   r   r   r   ÚpytestÚraisesÚ
ValueErrorr   )r   r   Úmsgr   r   r   Ú'test_write_unsupported_compression_typeM   s
    

r<   c               
   C   sD   t  ¡ �2} d}tjt|d�� tj| dd� W 5 Q R X W 5 Q R X d S )Nr4   r5   r7   r   )r   r   r8   r9   r:   r   r   )r   r;   r   r   r   Ú&test_read_unsupported_compression_typeU   s    
r=   Úto_inferTFÚ
read_inferc           
   	   C   s~   | }d}|t | 7 }t ddgi¡}|r,dn|}|r8dn|}t |¡�.}|j||d� tj||d�}	t |	|¡ W 5 Q R X d S )Nztest.r   r/   Zinferr   )r   r   r   r   r   r   r   r   )
Zcompression_onlyr?   r>   r   Úfilenamer   Zto_compressionZread_compressionr   r   r   r   r   Útest_to_json_compression\   s    rA   c              	   C   s4   t  ddgi¡}tƒ �}|j|| d� W 5 Q R X d S )Nr   r/   r   )r   r   r   r   )r   ÚexpectedÚbufferr   r   r   Útest_to_json_compression_modeq   s    rD   )r   r   r8   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasr   Zpandas._testingZ_testingr   Z pandas.tests.io.test_compressionr   r   r#   Zskip_if_not_us_localeÚmarkZ
single_cpur*   r.   r3   r<   r=   ZparametrizerA   rD   r   r   r   r   Ú<module>   s$   
